我好几年没有和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