多:线程 - 这是正确的方法吗?

jag*_*mot 7 java concurrency multithreading

专家 -

我在以下场景中需要一些建议.

我有一个包含任务列表的配置文件.每个任务可以具有零个,一个或多个依赖项.我想并行执行这些任务[现在它们按顺序执行]

我们的想法是拥有一个主程序来读取配置文件并加载所有任务.读取单个任务并将其提供给执行任务[callable],执行任务并返回Future中的结果.当任务提交给执行程序(线程)时,它将监视其依赖关系以首先完成并执行自己的任务.

这是正确的方法吗?有没有其他更好的方法使用Java 1.5功能?

Enn*_*oji 5

听起来不错,但要注意Thread starvation deadlock.基本上,不要使用有界线程池.

这是一个说明此问题的示例.
http://www.javaconcurrencyinpractice.com/listings/ThreadDeadlock.java

此外,如果您有一个池式数据库连接,也可能遇到问题.10个线程可以阻塞,保持所有池连接,等待第11个线程无法获取第11个池连接,因为没有更多可用..