[英]java Main Thread manage launching other Threads
我會描述我的問題:
我正在開發異步模式下的文檔生成(Office文檔)應用程序,所以我使用Threads
由於性能限制,我必須同時啟動2個線程,
為了在兩個線程運行時不阻止用戶啟動文檔生成,我想開發一個包含ArrayDeque對象作為線程堆棧的主線程,用戶可以在其中添加創建請求(作為實現Collable或Runnable接口的對象)並使用Concurrent API在FIFO模式下啟動線程
問題是:
如何確保將主線程作為所有用戶的單例運行?
如何在主運行線程上調用ArrayDeque
聽起來像使用帶有兩個線程池的ExecutorService
的簡單情況:
class Task implements Runnable {
...
}
ExecutorService exec = Executors.newFixedThreadPool(2);
exec.submit(new Task()); // submit task to the queue for asynchronous processing
ExecutorService
將封裝一個線程池和一個工作隊列。 線程將在完成先前任務時自動獲取新工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.