【发布时间】:2020-06-13 09:18:21
【问题描述】:
ThreadPoolExecutor 实例管理线程:它负责将其队列中的任务匹配到一定数量的线程。
鉴于线程是公共资源,直观地说它们应该由每个应用程序的“一个管理器”管理。
但是,存在“最佳实践”告诉您为某些场景创建多个执行器。例如,有人认为您应该创建两个独立的执行器,一个用于 CPU 密集型任务,另一个用于阻塞 IO 任务。
为什么会这样?
直观地说,让多个“管理器”管理同一组线程,而不知道彼此的存在对我来说听起来像是一种反模式。
JVM 是否知道多个执行器的存在并执行额外的管理以确保它们不会争夺同一个线程?
【问题讨论】:
标签: java multithreading threadpool executorservice threadpoolexecutor