executorservice

    2熱度

    1回答

    所以我使用executorservice來創建一個線程池。 ExecutorService executor = Executors.newSingleThreadExecutor(); 我試圖訪問該線程池的隊列中的任務數。我發現沒有辦法去解決這個問題。 我知道有一些方法可以在threadpoolexecutor中獲得隊列大小,但是我怎麼用executorservice對象來做到這一點。 就像

    0熱度

    1回答

    我正在創建一個需要多個進程並行運行的應用程序。要運行的進程數是動態的,它取決於接收到的輸入。例如,如果用戶想要關於三種不同的事物[汽車,自行車,汽車]的信息,那麼我需要三個獨立的線程來並行運行每一個線程。 numberOfThreadsNeeded = getNumberOfThingsFromInput(); ExecutorService executor = Executors.newF

    0熱度

    1回答

    我想寫一個封閉的類從網上下載圖像,每隔30秒刷新一次。我可能想下載1張圖片,或者我想下載N張圖片。我可能會隨時停止下載某個圖片。我寫了下面這個很好用的類,除非我停止下載一個沒有被釋放的圖像內存。或者如果我停止下載所有圖像,內存不會被釋放(這不會在生產中發生)。我嘗試了幾種不同的方法來實現這一點。我最後一次嘗試是使用相同的執行程序或單獨執行程序下面的代碼每30秒清除ScheduledThreadPo

    0熱度

    1回答

    我想找到一種方法來利用ExecutorService.submit(Runnable r,T結果)方法,但無法找到/想象任何。 任何人都可以解釋如何最好地利用這種方法與代碼示例。 在此先感謝。

    1熱度

    2回答

    問題: 如何做出一系列已經與invokeAll停止執行超時線程。 背景: 我有callables我想等完成的列表。但是,如果他們沒有在規定時間內完成(比如說一秒),我想取消它們。這似乎很容易與 executor.invokeAll(callables, 1000l, TimeUnit.MILLISECONDS); 所以一秒鐘後,它會超時很好,我可以繼續我的一天。但是在後臺,線程仍然處於活動狀態

    0熱度

    1回答

    我創建了一個食品訂購系統,當按下按鈕時,它將調用一個方法,然後查詢數據庫以找出當前數量,然後查詢另一個表以找出數量每道菜需要,然後用新數量更新數據庫。這需要一兩秒鐘的時間,所以我想在用戶每次訂購一個項目時在新的線程上運行它,以便在每次按下按鈕後都不會掛起。我試圖用executorService,但我仍然得到一個InvocationTargetException錯誤。 下面是代碼: public E

    0熱度

    1回答

    從控制器類溝通,我打電話這個助手啓動一個進程並返回到該進程啓動的UI 助手類: public class Helper { public String startService() { //Before starting the service I save the status of the service as Started in the DB ExecutorService

    0熱度

    1回答

    您好我想運行下面的代碼,並且在執行器被終止後,我期待剩餘任務的計數爲0,但由於某種原因,當它滿足以下條件時它超過100。 while(executor.isTerminated()) { System.out.println("Total Task Remaining : " + ExecutorServiceExample.task.size()); System

    3熱度

    1回答

    對Java,但我想不通爲什麼這個程序沒有結束: import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; class Main { public static void main(String[] args) { ScheduledExecut

    0熱度

    2回答

    enter image description here即使在調用執行程序中斷shutdownNow方法後,線程也不會停止。 線程調用功能正在while循環中運行,它正在檢查中斷標誌。 我試過在一段時間後向正在運行的線程發送中斷標誌,但它仍然在執行。我想強制停止線程。 任何人都可以說出這種行爲。 附加樣本Java代碼: public class TestExecutor { static v