我有一个 System.Threading.Timer
,我将其更改为较低的优先级(Thread.CurrentThread.Priority = XXXX
)。
在退出回调方法之前,我是否需要重置优先级,或者当 .Net 获取线程时,它会自动重置优先级?
我有一个 System.Threading.Timer
,我将其更改为较低的优先级(Thread.CurrentThread.Priority = XXXX
)。
在退出回调方法之前,我是否需要重置优先级,或者当 .Net 获取线程时,它会自动重置优先级?
System.Threading.Timer
使用 ThreadPool
,不建议更改线程池中的优先级。具体原因可以参考这篇文章:为什么不要更改 ThreadPool(或 Task)线程的优先级?,而且线程池似乎不会自动将优先级恢复到原始状态。因此,一开始就不应该更改优先级,但如果您确实需要更改,则应该自己将其改回。