2013-04-05 53 views
1

我想更改在運行時提交給執行程序服務的命令列表。有沒有人試過這樣做?多個命令是否可以通過一個執行器服務實例提交?可以在運行時更改提交的命令列表(我可能會在運行時添加或刪除先前提交給執行程序的命令)動態更改提交給Executor服務的命令列表

任何指針將不勝感激。

+0

你的問題不清楚。你將'Runnable'對象傳遞給Executor服務,所以沒有什麼能夠阻止你在運行時創建一個自定義的對象... – assylias 2013-04-05 16:30:13

+0

如何在['BlockingQueue']中排隊任務(http://docs.oracle.com/javase /7/docs/api/java/util/concurrent/BlockingQueue.html),並逐一提交任務?使用這個場景,你可以有一個等待執行的任務隊列,你可以操縱它們。 – 2013-04-05 16:31:01

+0

如果任務處於待處理狀態,BlockingQueue只會有所幫助。如果我必須刪除命令,該怎麼辦? – u07103 2013-04-05 16:38:02

回答

2

Singlethreadexecutor可以接受多個請求。 一旦你提交請求,你可以從它得到未來。尚未開始的任務可以取消,新的任務可以提交。