国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java读写锁的特性

java读写锁的特性

java 读写锁

头像

小妮浅浅

2021-10-20 10:55:456840浏览 · 0收藏 · 0评论

1、公平选择性,支持非公平和公平锁获取,吞吐量不公平优于公平。

2、重进入,读锁和写锁都支持线程重进入。

3、锁降级,遵循获取写锁、获取读锁、释放写锁的顺序,写锁可以降级为读锁。

实例

public class ReadWriteLockTest {
    public static void main(String[] args) {
 
        final Queue q = new Queue();
 
        for (int i = 0; i < 3; i++) {
 
            new Thread() {
                @Override
                public void run() {
 
                    while (true) {
                        q.get();
                    }
                }
            }.start();
 
            new Thread() {
                @Override
                public void run() {
                    while (true) {
                        q.put(new Random().nextInt(10000));
                    }
                }
            }.start();
        }
    }
}
 
class Queue {
 
    //共享数据,只能有一个线程能写该数据,但可以有多个线程同时读该数据。
    ReadWriteLock rwl = new ReentrantReadWriteLock();
    private Object data = null;//共享数据,只能有一个线程能写数据,但可以有多个线程读该数据
 
    public void get() {
        //上读锁,其他线程只能读不能写
        rwl.readLock().lock();
        try {
 
            System.out.println(Thread.currentThread().getName() + " be ready to read data!");
            Thread.sleep((long) (Math.random() * 1000));
            System.out.println(Thread.currentThread().getName() + " have read data :" + data);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            rwl.readLock().unlock();
        }
    }
 
    public void put(Object data) {
        //上写锁,不允许其他线程读也不允许写
        rwl.writeLock().lock();
 
        try {
            System.out.println(Thread.currentThread().getName() + " be ready to write data!");
 
            Thread.sleep((long) (Math.random() * 1000));
 
            this.data = data;
            System.out.println(Thread.currentThread().getName() + " have write data: " + data);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {
            rwl.writeLock().unlock();
        }
    }
}

以上就是java读写锁的特性,希望对大家有所帮助。更多Java学习指路:Java基础

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

午夜成人理论片A片AAA软件| 《后宫狂热》动漫全集完整 | 内衣走秀| 女人被男人进入后的心理变化| 京东影业JD008苏小小| 韩国三级有夫之妇| YSL水蜜桃86满十八岁会黑吗.| 坤坤寒入桃子里电视剧免费看 | 樱花视频在线观看电视剧高清| 中文在线字幕观看电视剧| 三级《出差被同房》| 少妇荡乳欲伦交换A片欧美| 40岁女人如饥似渴最佳解决方法| 八戒八戒电影在线看免费观看8| 女教师被内谢流白浆| 女生给男生吃小头头| 年轻的母亲| 丈夫不在家儿媳想老公的背景故事 | 小洞流口水了 是不是饿了| CSGO暴躁少女高清大片| 爱丫爱丫影院在线观看免费版高清| 退休后日大女儿的隐喻和含义| 蜜汁樱桃》笔趣阁全文免费阅读 | 蜜桃览器| 日韩| 野东西2| 色翁荡熄第10章| 成品PPT网站大片入口| 深入无人区短剧免费高清观看| 蜜桃成熟时李慧珍演的| 麻豆精品无码国产在线播放| 空姐少女正版2| 第一次挺进苏雨瑶的身体电影| 女人脱精光让人桶爽了| 第-次和公翁做爰又大又粗| 金铃铛| 深入无人区短剧免费高清观看| 伦理《少妇的滋味》完整版| 蜜桃成熟33D| 狗配人的大片| 蜜桃成熟时2