线程间通信和等待的区别
来源:6-2 J.U.C之AQS-CountDownLatch
![](http://img1.sycdn.imooc.com/user/59a6bd330001222f07410741-100-100.jpg)
about_blank
2018-05-03
在学到countdownLatch 这一节的时候
老师有讲到 AB两个线程 可以等到都结束后执行
之前做开发有遇到过这个问题
想请教下老师
threadPool.await()
实现callable 的future.get()
以及countdownLatch.await() 貌似效果都是可以阻塞到所有任务结束后再执行
不知有什么区别呢
写回答
1回答
-
Jimin
2018-05-04
你好,countdownlatch相当于一个屏障,相当于是主线程等待其他相关线程运行完才能运行之后的代码再继续执行;而future的get只是等待当前线程执行完获得一个结果,同时他还支持取消等高级操作。
虽然都涉及到阻塞,但是他们各自能解决的事情是不同的。072018-05-04
相似问题