c语言 设置线程优先级,C# Priority:多线程优先级设置

本文介绍了如何在C#中设置线程优先级以影响执行顺序,以及通过Sleep方法控制线程交替执行。同时,讨论了线程状态控制,包括Sleep、Abort、IsBackground属性的应用,并给出了发放红包的线程控制示例。
摘要由CSDN通过智能技术生成

在《C# ThreadStart》一节中我们通过两个线程分别打印奇数和偶数,但是每次打印出来的结果是不同的。

如果需要控制输出值的顺序,可以通过对线程优先级的设置以及线程调度来实现。

在 C# 中线程的优先级使用线程的 Priority 属性设置即可,默认的优先级是 Normal。

在设置优先级后,优先级高的线程将优先执行。

优先级的值通过 ThreadPriority 枚举类型来设置,从低到高分别为Lowest、BelowNormal、Normal、AboveNormal、Highest。

【实例 1】通过设置线程的优先级来控制输出奇数和偶数的线程,为了看出设置线程优先级的效果将输出 1〜100 中的奇数和 0〜100 中的偶数。

根据题目要求,实现的代码如下。

class Program

{

static void Main(string[] args)

{

ThreadStart ts1 = new ThreadStart(PrintEven);

Thread t1 = new Thread(ts1);

//设置打印偶数线程的优先级

t1.Priority = ThreadPriority.Lowest;

ThreadStart ts2 = new ThreadStart(PrintOdd);

Thread t2 = new Thread(ts2);

//设置打印奇数线程的优先级

t2.Priority = ThreadPriority.Highest;

t1.Start();

t2.Start();

}

//打印1~100中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值