Fid*_*del 8 java multithreading countdownlatch
并发管理机制(如wait/notify和lock/condition)似乎受到虚假唤醒的影响.开发人员通过重新检查条件确实已经改变来满足那些意外的唤醒.
在CountDownLatch中,虚假的唤醒是一个问题吗?
Sot*_*lis 13
的javadoc的CountDownLatch#await()状态
如果当前计数大于零,则当前线程将被禁用以进行线程调度,并且在发生以下两种情况之一之前处于休眠状态:
- 由于
countDown()方法的调用,计数达到零; 要么- 其他一些线程会中断当前线程.
休眠意味着该方法不会返回.换句话说,虽然可能发生虚假唤醒,但它不会导致await方法返回.
您可以查看实现,看看它是如何完成的,但是,简而言之,它是循环和"等待"(通过LockSuport#park或Object#wait受到虚假唤醒影响)的典型技巧,直到满足条件.
当涉及到
CountDownLatch,虚假的唤醒是一个问题吗?
没有.
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |