博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java线程--ReentrantReadWriteLock读写锁
阅读量:6427 次
发布时间:2019-06-23

本文共 1799 字,大约阅读时间需要 5 分钟。

hot3.png

读写锁的使用个例

public class Test {    static Lock lock = new ReentrantLock();    static ReentrantReadWriteLock readWriteLock = new ReentrantReadWriteLock();    static Lock readLock = readWriteLock.readLock();    static Lock writeLock = readWriteLock.writeLock();    static int value = 0;    static class ReadWriteLockDemo {        public Object handleRead() {            try {                readLock.lock();                Thread.sleep(1000);                System.out.println(System.currentTimeMillis()+" read : "+value);            } catch (InterruptedException e) {                e.printStackTrace();            } finally {                readLock.unlock();            }            return value;        }        public void handleWrite(int val) {            try {                writeLock.lock();                Thread.sleep(1000);                value = val;                System.out.println(System.currentTimeMillis()+" write : "+value);            } catch (InterruptedException e) {                e.printStackTrace();            } finally {                writeLock.unlock();            }        }    }    public static void main(String[] args) throws InterruptedException {        System.out.println(System.currentTimeMillis()+" : "+value);        ReadWriteLockDemo demo = new ReadWriteLockDemo();        Runnable r1 = new Runnable() {            @Override            public void run() {                demo.handleRead();            }        };        Runnable r2 = new Runnable() {                        @Override            public void run() {                demo.handleWrite(new Random().nextInt(100));            }        };        for(int i=0;i<10;i++){            new Thread(r2).start();            new Thread(r1).start();        }    }}

转载于:https://my.oschina.net/u/3706181/blog/1612424

你可能感兴趣的文章
【Java面试题】6 判断下面代码是否有问题
查看>>
ubuntu下搭建NDK环境
查看>>
MessageDigest简单介绍
查看>>
webpack window 使用sass来编译css样式
查看>>
D3 & Data Visualization in Ext JS
查看>>
java通过UUID生成16位唯一订单号
查看>>
001-web基本程序搭建
查看>>
函数指针和指针函数
查看>>
Intel 揭秘:如何在公有云、混合云和私有云间合理放置工作负载
查看>>
借力AI 极验如何构建下一代业务安全?
查看>>
FEG电竞完成A轮近亿融资:健腾基金领投 赛富辰海资本跟投
查看>>
用Python制作迷宫GIF
查看>>
支付宝推出基于区块链跨境支付,巨头入场小企业将面临灭顶之灾
查看>>
从事互联网行业,怎样才能快速掌握一门编程语言呢?
查看>>
Hibernate第十二篇【二级缓存介绍、缓存策略、查询缓存、集合缓存】
查看>>
JS专题之数组去重
查看>>
抱歉,Xposed真的可以为所欲为——5.我自己刷的Xposed凭什么不给我用
查看>>
一个简单的可展开和收缩的tableview
查看>>
鹅厂干货 | 腾讯游戏APP协议迭代的那些事
查看>>
聊聊storm的WindowedBoltExecutor
查看>>