setPrioirty 方法在 newFixedThreadPool 和常规线程上的工作方式是否相同?
天呐!
默认情况下 aThreadPoolExecutor
将使用Executors.defaultThreadFactory()
,这反过来会将Thread
执行程序中的所有 's设置为NORM_PRIORITY
.
如果你想改变Thread
executor 中的属性,你需要提供你自己的属性,ThreadFactory
你可以在其中指定线程优先级、组、名称等。
查看ThreadPoolExecutor 的 javadoc 以了解更多详细信息。
所有线程池中的线程都是一样的东西。如果您Thread.currentThread().setPriority(...)
在线程池中运行时这样做,它将与在任何其他线程中执行完全相同的操作。