我有一个动作,
var act = new Action(() =>
{
while (true)
{
//Some Codes!
}
});
act.BeginInvoke(null, null);
如何增加运行此操作的线程的优先级? 我知道如何在简单的线程中完成它。
Thread.CurrentThread.Priority = ThreadPriority.Lowest;
但是行动的优先权如何?
答案 0 :(得分:4)
BeginInvoke会将您的任务排队到ThreadPool。您无法控制标准.NET ThreadPool的调度。您只能在代码实际执行后控制线程。
警告:更改ThreadPool线程的优先级被视为危险。进一步阅读:.NET: Why not change the priority of a ThreadPool (or Task) thread?
如果你能解释一下你想要实现的目标,也许你可以得到更好的解决方案?