Moh*_*pta 3 java multithreading executorservice executor
在 ExecutorCompletionService 中,我们有 take() 和 poll()。一个阻塞,直到队列有一个未来,如果队列中没有未来,另一个返回 null。但是什么时候使用 take() 和 poll() 。是否有任何特殊条件来决定这一点,或者我们可以选择任何一个??
当您的线程在等待某些内容出现在队列中时可以执行其他操作时,您可以使用 poll()。您编写了一个调用 poll() 的循环,然后根据 poll() 是否返回值来做一件事或另一件事。
在多线程代码中使用 poll() IMO 有点代码味道。这意味着您有一个线程在做两种不同的事情。在这种情况下为什么不使用两个线程?
| 归档时间: |
|
| 查看次数: |
5231 次 |
| 最近记录: |