java.util.concurrent常用类

CountDownLaunch

通常用于监听某些初始化操作,当初始化执行完毕后,通知主线程继续工作。

CountDownLatch countDownLatch = new CountDownLatch(2); 
// 只有调用两次countDownLatch.countDown(); await才能被唤醒;
countDownLatch.await();
doSomething();

CyclicBarrier

当所有线程都准备就绪后才一起执行。

CyclicBarrier cyclicBarrier = new CyclicBarrier(2);
// 只有调用两次cyclicBarrier.await(); await才能被唤醒;
cyclicBarrier.await();
doSomething();

Callable和Future

Semaphore

Semaphore semaphore = new Semaphore(5); // 并发的只有5个线程可以访问 
// 获取访问许可
Semaphore.acquire();  
doSomething();
// 访问完后,释放  
Semaphore.release();

https://juejin.im/post/5c89c93bf265da2de71391ec?utm_source=gold_browser_extension#heading-83

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。