阻塞仍会导致线程饥饿吗?

时间:2014-11-15 03:21:24

标签: java concurrency

这可能是一个补救问题,但我只是有一个双重考虑,我需要澄清一些事情。如果我有一个管理5个线程的固定线程池,并且我有150个任务A实例和150个任务B实例......并且任务B依赖于其任务A对应的完成,因此它可以阻止等待任务A.并且A和B的任务都被提交到相同的固定线程池,这会导致线程饥饿正确吗?当一个任务阻塞时,它不会释放该线程来执行另一个任务。正确?

1 个答案:

答案 0 :(得分:1)

我会这么认为,虽然我很难找到有关它的任何信息。在Java中实现抢占式多任务处理是没有意义的。对于我作为开发人员来说,假设单个线程在完成之前只运行一个任务比几个任务可以同时共享一个线程更安全。

创建两个单独的执行程序:一个用于任务A,另一个用于B。