并发编程
这个家伙太懒了
术:技术更新太快,招式花哨;道:原理不变,深入基础和底层
展开
-
并发-4个同步辅助类(CountDownLatch、CyclicBarrier、Semphore、Phaser)
先来看下前2个直译过来:countDownLatch是一个同步的辅助类,允许一个或多个线程,等待其他一组线程完成操作,再继续执行。CyclicBarrier是一个同步的辅助类,允许一组线程相互之间等待,达到一个共同点,再继续执行。解读下:首先是有个分组的概念,谁等谁,所以有2组角色,比如A组,B组。countDownLatch:A组中的一个或者多个线程await(),B...原创 2018-11-01 14:11:14 · 237 阅读 · 0 评论 -
并发-并发工具类-Semaphore
源码注释里面有例子;主要方法是 :acquire() 子线程调用,申请一个令牌,不一定会获取到,该方法是阻塞方法,获取不到的子线程等待,等有可用令牌时去release() 子线程调用,令牌会释放(前提你得获取到令牌否则你释放啥。。。)/** * 厕所4个位子,6个人--资源不够 * 一般结合线程池使用 */public class SemaphoreTest { ...原创 2018-11-01 15:29:35 · 171 阅读 · 0 评论 -
并发-并发工具类Phaser
转写的很好。 我是攻城师 https://cloud.tencent.com/developer/article/1350849特性:Phaser是一个可重复使用的同步栅栏,功能上与 CountDownLatch 和 CyclicBarrier类似但支持的场景更加灵活,这个类可能是目前并发包里面实现最复杂的一个了。Phaser的灵活性主要体现在在构造函数时不需要强制指定目前有多...转载 2018-11-01 15:41:38 · 135 阅读 · 0 评论