簡體   English   中英

java主線程管理啟動其他線程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM