C# - 线程优先级

C# - 线程优先级 首页 / C#入门教程 / C# - 线程优先级

让无涯教程看一个示例,其中正在更改线程的优先级。可以首先执行高优先级线程。但这不能保证,因为线程高度依赖于系统。它增加了高优先级线程在低优先级线程之前执行的机会。

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

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

AI技术内参 -〔洪亮劼〕

React实战进阶45讲 -〔王沛〕

10x程序员工作法 -〔郑晔〕

DDD实战课 -〔欧创新〕

SRE实战手册 -〔赵成〕

陶辉的网络协议集训班02期 -〔陶辉〕

运维监控系统实战笔记 -〔秦晓辉〕

B端体验设计入门课 -〔林远宏(汤圆)〕

徐昊 · AI 时代的软件工程 -〔徐昊〕

好记忆不如烂笔头。留下您的足迹吧 :)