国产成人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基础

关注

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

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

马配人能配进去吗| 色情性黄17C片麻豆AV| Y31成色好的Y31| 100种双人插画姿势素材| HTTPS://WWW.AP...| 国产在线观看免费全集电视剧网站| 人野兽马狗猪大全| 国精产品一品二品国精HTC | 桃色公寓| 添女人荫蒂全部过程AV视频| 人口兽猪马狗第1集| 《慈母夜吟》完整版| 《帐篷里的秘密》动漫| 《高压监狱5》完整版| 亚洲第一大综合区的就业前景| 女人乱子伦xXX沧州| 阿塞拜疆| 温柔的房东夫人免费观看电视剧| 高清大人LOGO图片清晰大全| 夹好了不许穿内裤去上课小说| 免费浏览外国黄冈网站的软件| 我在古代富甲一方| 土豆网| 国产在线观看免费全集电视剧网站| 欧美大片| 《特殊的补课方式》| 《医务室上垒》动浸全集在线观看| 男牛把小困困进女生困里电视剧| 精产一二三产区划分标准图片| 日亚M码是日本的还是中国的| 美腿视频| BGMBGMBGM毛多老太| 禁忌| 一枪战三母2雪姨是哪个角 | 女士泳衣全透明| 适合深夜看的脸红的小说| 麻花传剧MV在线看免费版高清| 嫂嫂让小叔子帮忙生孩子电视剧| 来吧儿子妈妈是纯还是混| 白丝脚上的浓浓的精华液能用吗| 《厨房激战5》完整版在线观看