栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

等待通知和CountDownLatch之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

等待通知和CountDownLatch之间的区别

他们当然不会做同样的事情:

CountDownLatch
仅在事件计数达到0时发出信号,并且会自动
wait-notify
计数,如果您想要实现相同的行为,则需要保留自己的计数。实现相同的行为通常容易出错,最好避免这种情况(尤其是如果您不熟悉并发编程)。比较
CountDownLatch
wait-notify
很难甚至是拿苹果和橘子相比,它更像是一个比较自动挖掘和内六角扳手。

我不知道您是否曾经使用过

notifyAll()
CountDownLatch
,但
notifyAll()
除非您一直记下发生了多少事件,否则单独不会给您相同的行为。
CountDownLatch
最适合执行固定数量的任务并等待这些任务完成,然后再继续执行其余程序。当您有固定数量的线程(例如
ThreadPool
)执行固定数量的任务时,它特别有用,但是您的线程比任务少,您必须重用它们。使用a,
CountDownLatch
您可以轻松地等待所有任务完成。我不知道您如何一直使用
notifyAll()
以实现相同的行为,
waitNotify()

更合适)。

对于之间的区别

wait()
await()
,我有点失望了!查找文档是任何问题的第一步:

http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html

await()
是的实函数,
CountDownLatch
而是
wait()
从继承的
Object
。我建议您检查文档中的内容。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号