我使用Executors.newFixedThreadPool(8)来执行一些耗时的任务,并使用future.get方法用10 seconds.Then设置超时--我发现有些任务在单独执行时可以成功地执行,但是当它们与任何其他tasks.These任务一起执行时,超时是相互独立的,cpu和内存是sufficient.Why,会发生吗?
发布于 2022-10-08 07:40:48
我已经知道了原因,这是由于墙壁时间和线程time.future.get设置线程壁时间的不同,但是由于CPU时间片的旋转,线程的实际运行时间是线程time.When任务并发执行,即使是小任务也有饥饿的风险。
https://stackoverflow.com/questions/73995047
复制相似问题