c#中对线程优先级的理解

线程先级值,从高到低按顺序有。     Highest    AboveNormal    Normal   BelowNormal     Lowest
当我们想改变调用线程的执行顺序时,当先被调用的线程为 Normal 时我们不可以改变线程执行顺序,当先被调用线程的级别在 Normail 之后时就只要设置后被调用的优先线程级别高于先被调用的线程就会改变执行的顺序。

  Thread t1 = new Thread(new ParameterizedThreadStart(Thread_View));
  Thread t2 = new Thread(new ParameterizedThreadStart(Thread_View));
 

  t2.Priority = ThreadPriority.Highest;// 由于t1级别为Normal,不会改变顺序.
  t1.Priority = ThreadPriority.Normal;// 级别为Normal,不会改变顺序
  t1.Start();
  t2.Start();
(只设置前一个)
  t1.Priority = ThreadPriority.BelowNormal;//t1 级别为 BelowNormal ,在 Normal 之下, t2 是默认的 Normal 且目前比 t1 优先级高 ,将改变顺序
  t1.Start();
  t2.Start();// 默认不变

你可能感兴趣的:(线程,职场,C#,优先级,休闲)