threadpoolexecutor

    1熱度

    1回答

    我需要在Java中管理大量的串行調度隊列。每個管理自己的運行循環都需要一些引擎模塊(其中一些可能會很快完成,而另一些可能會阻塞很長一段時間)。提交給每個引擎的作業必須按順序運行。 理想情況下,每個引擎都會有一個線程池,它可以在0和1線程之間進行縮放,從而使ExecutorService既是串行的,也不是令人難以置信的資源沉重,如果有數百個,但只有少數人看到活動。 然而,當我嘗試使用要麼: new

    0熱度

    1回答

    我正在使用執行程序框架來創建Fadder對象的多個實例並打印結果。我正在嘗試學習如何使用多線程來更快地完成任務。我遇到的問題是,每次運行程序時都會按隨機順序打印數字。我認爲爲循環的每次迭代創建一個新對象可以解決這個問題,但它仍然以「隨機」順序打印數字。有沒有什麼方法可以保證線程按照它們假定的運行順序打印?像1,2,3,4,5。謝謝 package fadder; import java.util

    0熱度

    1回答

    我已經在Java中建立了一個HttpsServer。我所有的溝通都很完美。我設置了多個上下文,加載自簽名證書,甚至基於外部配置文件啓動。 我現在的問題是讓多個客戶端能夠打我的安全服務器。爲此,我想以某種方式對來自HttpsServer的請求進行多線程處理,但無法弄清楚如何執行此操作。以下是我的基本HttpsConfiguration。 HttpsServer server = HttpsServe

    0熱度

    2回答

    我想使用線程池來相互添加兩個矩陣,這將導致進程更快完成。當我不使用執行器框架進行添加時,該程序正常工作,但在實現線程池時崩潰。問題必須在添加方法中,任何有助於運行的幫助將會很有幫助!謝謝 :)。 這裏是矩陣類的代碼。我沒有包含主類,因爲它所做的只是獲取創建矩陣的維度。如果你還想讓主要班級讓我知道,我會包括它。 package matrixproject; import java.util.Ran

    0熱度

    1回答

    我已經閱讀從Java文檔手動約ThreadPoolExecutor: 讓我們來看看這部分: 拒絕任務的 在執行方法execute(java.lang.Runnable)中提交的新任務將爲 當Executor已關閉時被拒絕,還有whe 執行器對最大線程和工作隊列使用有限邊界容量,並且是飽和的。無論哪種情況,execute方法都會調用 RejectedExecutionHandler的Rejected

    3熱度

    4回答

    傳遞給ThreadPoolExecutor/ScheduledThreadPoolExecutor的推薦corePoolSize是什麼? Runtime.getRuntime().availableProcessors()? Runtime.getRuntime().availableProcessors() * 2? 從一個角度來看,我希望CPU(所有內核)能夠100%利用,但儘可能少用線程,以

    4熱度

    1回答

    我用例: 設置最小大小「N」對於這意味着「N」螺紋總是執行人啓動後的可用線程池。 設置線程池的最大大小'M'。 當所有'M'線程忙時,傳入任務應該排隊。 基於空閒狀態超時期滿(M-N)線程。 我相信HttpClient後面的池管理器可能有類似的設置。我試圖用ThreadPoolExecutor來實現它,但無法找到一種方法。可能嗎? 這是一個測試的例子。 public class ExecutorE

    1熱度

    1回答

    的Javadoc的ThreadPoolExecutor定義(https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html#afterExecute(java.lang.Runnable,%20java.lang.Throwable)) protected void afterExecut

    1熱度

    1回答

    當我嘗試獲得結果時,感覺它回到過去沒有被線程化,但是當我不抓取結果時。它的工作原理就像它有10個線程,任何想法爲什麼或如何解決這個問題? pool = ThreadPoolExecutor(max_workers=10) info = pool.submit(check, "Username").result().result print(info)

    0熱度

    1回答

    只有在提交給線程池的所有任務完成後,我纔想從我的executeTasks()方法返回。請注意,我的線程池具有可配置的threadpoolsize,並使用SynchronousQueue作爲後備隊列,因此只有在線程可用時,我的for循環才能通過提交任務來安全地進行。所以,我只想等待最後的任務。我正在使用Phaser。 我創建了一個Phaser,其中包含1個註冊方,即當前線程,並且我在向線程池提交任務