这可能是一个补救性问题,但我只是想了想,我需要澄清一些事情。如果我有一个管理 5 个线程的固定线程池,并且我有 150 个任务 A 实例和 150 个任务 B 实例...并且任务 B 依赖于其任务 A 对应项的完成,因此它可能会阻塞等待任务 A .并且A和B的任务都提交到同一个固定线程池,这会导致线程饥饿,对吗?当一个任务阻塞时,它不会释放该线程来执行另一任务。对吗?
最佳答案
我认为是这样,尽管我很难找到有关它的任何信息。在 Java 中实现抢占式多任务处理没有什么意义。对于我作为一名开发人员来说,假设单个线程只运行一个任务直到完成,比多个任务可以同时共享一个线程更安全。
创建两个单独的执行器:一个用于任务 A,另一个用于任务 B。
关于java - 阻塞还会导致线程饥饿吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26942160/