课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
并发编程开发是程序员在学习java编程开发技术的时候回遇到的一种开发需求,而今天我们就一起来了解一下,java并发编程开发中lock体系的应用。
一、Lock体系结构
1、基础接口简介
Java并发编程中资源加锁的根接口之一,规定了资源锁使用的几个基础方法。
ReentrantLock类
实现Lock接口的可重入锁,即线程如果获得当前实例的锁,并进入任务方法,在线程没有释放锁的状态下,可以再次进入任务方法,特点:互斥排它性,即同一个时刻只有一个线程进入任务。
Condition接口
Condition接口描述可能会与锁有关联的条件变量,提供了更强大的功能,例如在线程的等待/通知机制上,Conditon可以实现多路通知和选择性通知。
二、读写锁机制
1、基础API简介
重入锁的排它特性决定了性能会产生瓶颈,为了提升性能问题,JDK中还有另一套读写锁机制。读写锁中维护一个共享读锁和一个排它写锁,在实际开发中,读的场景还是偏多的,所以读写锁可以很好的提高并发性。
ReadWriteLock
提供两个基础方法,readLock获取读机制锁,writeLock获取写机制锁。
ReentrantReadWriteLock
接口ReadWriteLock的具体实现,特点:基于读锁时,其他线程可以进行读操作,基于写锁时,其他线程读、写操作都禁止。
三、基础工具类
LockSupport简介
LockSupprot定义一组公共静态方法,这些方法提供基本的线程阻塞和唤醒功
能。
基础方法
park():当前线程阻塞,当前线程被中断或调用unpark方法,park()方法中返回;
park(Objectblocker):功能同park(),传入Object对象,记录导致线程阻塞的阻塞对象,方便问题排查;
parkNanos(longnanos):指定时间nanos内阻塞当前线程,超时返回;
unpark(Threadthread):唤醒指定处于阻塞状态的线程;
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。