C# 属性

C# 抽象

C# 字符串

C# 泛型

C# 杂项

C# 新特性

C# ThreadPriority 线程优先级

让我们看一个改变线程优先级的例子。可以先执行高优先级的线程。但不能保证,因为线程高度依赖系统。它增加了高优先级线程在低优先级线程之前执行的机会。

例子 (Example)

using System;  
using System.Threading;  
public class MyThread  
{  
    public void Thread1()  
    {  
        Thread t = Thread.CurrentThread;  
        Console.WriteLine(t.Name+" is running");  
    }  
}  
public class ThreadExample  
{  
    public static void Main()  
    {  
        MyThread mt = new MyThread();  
        Thread t1 = new Thread(new ThreadStart(mt.Thread1));  
        Thread t2 = new Thread(new ThreadStart(mt.Thread1));  
        Thread t3 = new Thread(new ThreadStart(mt.Thread1));  
        t1.Name = "Player1";  
        t2.Name = "Player2";  
        t3.Name = "Player3";  
        t3.Priority = ThreadPriority.Highest;  
        t2.Priority = ThreadPriority.Normal;  
        t1.Priority = ThreadPriority.Lowest;  
  
        t1.Start();  
        t2.Start();  
        t3.Start();  
    }  
}

输出:

输出是不可预测的,因为线程高度依赖于系统。它可以遵循任何抢占式或非抢占式算法。

Player1 is running
Player3 is running
Player2 is running


  • 使用社交账号登录,本站支持
全部评论(0)