我想執行下面的算法 - 這必須用Java做Java的線程池同步
for(int i = 0; i< 100; i++){
create 8 threads which perform a task
wait for all threads to finish
}
希望的是,線程不會繼續創建和銷燬由於管理費用(而事實上,每個線程將會有20milli秒的工作),這帶來了線程池1的想法。我也知道使用可執行文件2,可以調用shutdown,然後等待終止。然而,在這種情況下由於循環而不可取。那麼線程同步如何發生?
我想同步線程池中的線程,就像使用傳統線程的join()方法所做的那樣。
問題不明確。您創建100次8個線程或者您在8個線程中處理100個任務?你需要同步什麼(你同步數據,而不是線程)? – toto2
您確定在開始新任務之前您必須等待所有8個任務完成嗎?如果你需要8個線程,因爲你有一個8核心的機器,那麼你只需要使用一個8線程的ThreadPool。 – toto2