更改操作的线程优先级

时间:2012-03-17 06:01:37

标签: c# multithreading thread-priority

我有一个动作,

var act = new Action(() =>
{
   while (true)
   {
     //Some Codes!
   }
 });
 act.BeginInvoke(null, null);

如何增加运行此操作的线程的优先级? 我知道如何在简单的线程中完成它。

Thread.CurrentThread.Priority = ThreadPriority.Lowest;

但是行动的优先权如何?

1 个答案:

答案 0 :(得分:4)

BeginInvoke会将您的任务排队到ThreadPool。您无法控制标准.NET ThreadPool的调度。您只能在代码实际执行后控制线程。

警告:更改ThreadPool线程的优先级被视为危险。进一步阅读:.NET: Why not change the priority of a ThreadPool (or Task) thread?

如果你能解释一下你想要实现的目标,也许你可以得到更好的解决方案?

相关问题