gpt4 book ai didi

java - 多 :Threading - Is this the right approach?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:44 24 4
gpt4 key购买 nike

专家 -

在以下情况下我需要一些建议。

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

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

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

最佳答案

听起来不错,但要注意线程饥饿死锁。基本上,不要使用有界线程池。

这里有一个例子可以说明这个问题。
http://www.javaconcurrencyinpractice.com/listings/ThreadDeadlock.java

此外,如果您有池数据库连接,您也可能会遇到问题。 10 个线程可以阻塞,持有所有池连接,等待第 11 个线程无法获取第 11 个池连接,因为不再可用。

关于java - 多 :Threading - Is this the right approach?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2524369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com