![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Threads
文章平均质量分 78
帅气的梧桐述
大道至简,知易行难。
展开
-
Lock与Condition实现生产者与消费者
Lock与Condition多线程实现生产者与消费者原创 2018-04-27 16:09:18 · 370 阅读 · 0 评论 -
LockSupport中的park() 和 unpark()与Object中的wait()和notify()
Object中的wait()和notify()的使用与注意事项; LockSupport中的park() 和 unpark()使用原创 2018-05-07 16:18:28 · 5341 阅读 · 2 评论 -
CyclicBarrier、Semaphore 、CountDownLatch的区别
CountDownLatch的使用CountDownLatch是通过“共享锁”实现的。在创建CountDownLatch时,会传递一个int类型参数count,该参数是“锁计数器”的初始状态,表示该“共享锁”最多能被count个线程同时获取。当某线程调用该CountDownLatch对象的await()方法时,该线程会等待“共享锁”可用时,才能获取“共享锁”进而继续运行。而“共享锁”可用的条件,就...原创 2018-05-08 09:56:57 · 296 阅读 · 1 评论 -
Semaphore信号量的原理和示例
Semaphore是一个计数信号量,它的本质是一个"共享锁"。信号量维护了一个信号量许可集。线程可以通过调用acquire()来获取信号量的许可;当信号量中有可用的许可时,线程能获取该许可;否则线程必须等待,直到有可用的许可为止。 线程可以通过release()来释放它所持有的信号量许可。Semaphore经常用于限制获取某种资源的线程数量。例如一个网吧有10台电脑,但是现在来了15个人想上网,此...原创 2018-05-08 15:16:22 · 1358 阅读 · 0 评论