3

私にはアクションがあり、

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

このアクションを実行するスレッドの優先度を上げるにはどうすればよいですか? 単純なスレッドでそれを行う方法を知っています。

Thread.CurrentThread.Priority = ThreadPriority.Lowest;

しかし、アクションの優先度はどうでしょうか?

4

1 に答える 1

4

BeginInvoke は、タスクを ThreadPool のキューに入れます。標準の .NET ThreadPool のディスパッチを制御することはできません。コードが実際に実行されて初めて、スレッドを制御できます。

警告: ThreadPool スレッドの優先度を変更することは危険と見なされます。詳細情報: .NET: ThreadPool (またはタスク) スレッドの優先度を変更しないのはなぜですか?

達成しようとしていることを説明できれば、より良い解決策を見つけられるでしょうか?

于 2012-03-17T06:11:00.993 に答える