
多线程
飞翔的小宇宙
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。 人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
展开
-
多线程中的读写锁
一.序言: 类ReentrantLock具有完全互斥排他的效果,即同一时间只有一个线程在执行ReentrantLock.lock()方法后面的任务,这样做虽然保证了实例变量的线程安全性,单效率却是非常低的.所以在JDK中提供了一种读写锁ReentrantReadWriteLock类,使用它可以加快运行效率,在某些不需要操作实例变量的方法中,完全可以使...原创 2019-07-09 14:45:44 · 1714 阅读 · 0 评论 -
ReentrantLock类与Condition类配合实现等待/通知机制
一.ReentrantLock概述: ReentrantLock和synchronized一样效果,都可以同步执行,ReentrantLock通过lock方法获得锁,unlock方法释放锁。 二.ReentrantLock常用方法: lock(): 获取锁,调用该方法当前线程将会获取锁,当锁获取后,该方法将返回,否则阻塞。 lockInt...原创 2019-07-04 09:45:47 · 1139 阅读 · 0 评论 -
多线程中的公平锁和非公平锁
一.公平锁与非公平锁概念: 锁Lock分为"公平锁"和"非公平锁",公平锁表示线程获取锁的顺序是按照线程加锁的顺序分配的,即先来先得的FIFO先进先出的顺序,而非公平锁就是一个获取锁的抢占机制,是随机获得锁的,和公平锁不一样的就是先来的不一定先得到锁,这个当时可能造成某些线程一直拿不到锁,结果也就是不公平的了。 二.创建一个类,在构造中初始化Reen...原创 2019-07-04 11:12:43 · 986 阅读 · 0 评论