zoukankan      html  css  js  c++  java
  • Java ReadWriteLock 接口

    使用示例

    public class Test {
        private ReadWriteLock rwLock = new ReentrantReadWriteLock();
        //写锁
        public void write() {
            rwLock.writeLock().lock();
            try {
                System.out.println(Thread.currentThread().getName()+":写开始!");
                TimeUnit.SECONDS.sleep(1);
                System.out.println(Thread.currentThread().getName()+":写结束!");
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                rwLock.writeLock().unlock();
            }
        }
        //读锁
        public void read() {
            rwLock.readLock().lock();
            try {
                System.out.println(Thread.currentThread().getName()+":读开始!");
                TimeUnit.SECONDS.sleep(1);
                System.out.println(Thread.currentThread().getName()+":读结束!");
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                rwLock.readLock().unlock();
            }
        }
    
        public static void main(String[] args) throws Exception{
            Test test = new Test();
            for(int i=1; i<=3; i++) {
               new Thread(() -> {
                   test.write();
               }, "Thread-"+i).start();
            }
            for(int i=4; i<=6; i++) {
                new Thread(() -> {
                    test.read();
                }, "Thread-"+i).start();
            }
        }
    }
    
    结果:
    Thread-1:写开始!
    Thread-1:写结束!
    Thread-2:写开始!
    Thread-2:写结束!
    Thread-3:写开始!
    Thread-3:写结束!
    Thread-4:读开始!
    Thread-5:读开始!
    Thread-6:读开始!
    Thread-4:读结束!
    Thread-5:读结束!
    Thread-6:读结束!
    
  • 相关阅读:
    百度APP爬虫
    python多线程与多进程
    navicat激活
    flask简单登录注册
    U盘启动盘还原
    flask报错:werkzeug.routing.BuildError: Could not build url for endpoint 'index'. Did you mean 'single' instead?
    mysql复制表(同一数据库,不同数据库)
    pycharm修改注释颜色
    requirements文件
    itchat娱乐
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/15324477.html
Copyright © 2011-2022 走看看