java.util.concurrent中的ExecutorCompletionService,其實現的是CompletionService接口。
我對ExecutorCompletionService存在一個疑問,在其實現中,task是被執行之后,才把futureTask加入到completionQueue,既然如此,不如直接把Result加入到completionQueue中了。這個行為沒什么差別的。對這個類的設計存在一些懷疑,我認為其task方法,似乎返回值是V更合適。
原來是這樣的:
Future<V> take() throws InterruptedException;
Future<V> poll();
覺得也許應該改稱這樣:
V take() throws InterruptedException;
V poll();

文章來源:
http://www.cnblogs.com/jobs/archive/2006/11/13/559609.html