线程优先级

  • 线程的优先级(Thread的Priority属性)决定了相对于操作系统中其它活跃线程所占的执行时间。(也就是说这个线程优先级高,那么它就有可能比优先级低的线程执行时间要多一些)
  • 优先级分为:
    • Enum ThreadPriority
      • Lowest
      • BelowNormal
      • Normal
      • AboveNormal
      • Highest

提升线程优先级

  • 提升线程优先级的时候需特别注意,因为它可能“饿死”其它线程。
  • 如果想仍某线程(Thread)的优先级比其它线程(Process)中的线程(Thread)高,那就必须提升进程(Process)的优先级

    • 使用System.Diagnostics下的Process类。
      1. using (Process p = Process.GetCurrentProcess())
      2. {
      3. p.PriorityClass = ProcessPriorityClass.High;
      4. }
  • 这可以很好地用于只做少量工作且需要较低延迟的非UI进程。

  • 对于需要大量计算的应用程序(尤其有UI的应用程序),提高进程的优先级可能会使其它进程饿死,从而降低整个计算机的速度。