我好幾年沒有和Java線程一起工作過,所以我有一個關於多線程的非常基本的問題。我正在編寫一個將被另一種語言(matlab)調用的java包。 Matlab能夠實例化一個Java類並運行java代碼。Java中的多線程應用程序?
我希望能夠到:
- 啓動多個線程
- 獲取所有正在運行的線程的列表
- 停止名稱定線程
- 停止所有線程
我過去曾使用Thread
類,但現在有沒有更簡單/更完整的軟件包?任何人都可以提供一個簡單的演示,或者指向我關於這個主題的教程嗎?
我好幾年沒有和Java線程一起工作過,所以我有一個關於多線程的非常基本的問題。我正在編寫一個將被另一種語言(matlab)調用的java包。 Matlab能夠實例化一個Java類並運行java代碼。Java中的多線程應用程序?
我希望能夠到:
我過去曾使用Thread
類,但現在有沒有更簡單/更完整的軟件包?任何人都可以提供一個簡單的演示,或者指向我關於這個主題的教程嗎?
也許在Java中的的online supplement併發編程來看看例子:設計原則和模式由Doug Lea的是的書線程和併發編程(但不包括新java.util.concurrent
包)。
或者Brian Goetz撰寫,蒂姆·佩爾斯,約書亞布洛赫,約瑟夫Bowbeer,大衛·霍姆斯,Doug Lea的檢查更近Java併發實踐(夢之隊這樣的書)及其companion website。
Sun's own tutorial關於這個問題呢?
警告:如果您需要能夠安全地停止線程,則需要對它們進行編碼,以便它們能夠正確響應Thread.interrupt()
。例如,計算密集型線程偶爾需要檢查interrupted
標誌,並且IO請求需要使用允許阻止呼叫被中斷的API來完成。這並不簡單...
Afaik,執行者沒有辦法按名稱控制線程。一旦提交了任務或Runnable,就不再有任何控制。 – mhaller 2009-11-21 20:16:13