我有一個webservice,在返回結果之前進行多個小計算。我想使用Executors.newFixedThreadPool()
提供的ExecutorService
作爲實現主 - 工作模式(即調用invokeAll
並讓線程等待所有結果完成)的一種方式。理想情況下,所有Web服務線程都使用相同的執行程序服務,以便它們不必都創建自己的線程池,並且可以共享一個佔用系統所有處理時間的大型池。一個java fixedThreadPool可以被多個線程使用
問題我有這種做法:
- 是安全地從多個線程訪問
invokeAll
功能。 - 將執行服務只是處理請求順序(即首先從線程1的任務,那麼這些線程
- 是有辦法有說10個工作線程,並具有最大的可用線程取決於在正在添加請求的數量,所以說我們有1個請求,它使用所有10個線程,該請求。如果你有2個請求,它分裂他們每個請求的5個線程等