-2
我有很多從我從網站下載內容的頁面。每個網頁在一個線程中處理。我如何告訴Java,我想要一次運行最多500個線程,並且如果一個線程完成,下一個線程將啓動,以便獲得最佳性能?如何控制多個線程?
我有很多從我從網站下載內容的頁面。每個網頁在一個線程中處理。我如何告訴Java,我想要一次運行最多500個線程,並且如果一個線程完成,下一個線程將啓動,以便獲得最佳性能?如何控制多個線程?
您可以使用ExecutorService
和Executors.newFixedThreadPool(500)
來做到這一點。
在網上有很多關於這個的教程。例如,從this開始。
https://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html –
500個線程不會幫助,您應該使用異步HTTP客戶端並將您的任務劃分爲實際數量的線程。 –