网络通信经常用到线程,重新复习一下
代码
using System;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Thread MyThread = new Thread(MyThraedTest);
MyThread.Priority = ThreadPriority.Lowest ;
Thread MyThread1 = new Thread(MyThraedTest1);
MyThread.Priority = ThreadPriority.Lowest;
MyThread1.Priority = ThreadPriority.Highest;
MyThread.Start();
MyThread1.Start();
}
public static void MyThraedTest() {
while (true) {
Thread.Sleep(100);
Console.Write("1");
}
}
public static void MyThraedTest1() {
while (true) {
Thread.Sleep(100);
Console.Write("2");
}
}
}
}
不设置优先级的话,默认为normal,主线程和分线程交替执行;
设置优先级后,两个任务线程输出字符,输出顺序不固定,原因在于:系统优先执行优先级较高的线程,但这只意味着优先级较高的线程占有更多的CPU时间,并不意味着一定要先执行完优先级较高的线程,才会执行优先级较低的线程。这一点从运行结果中也可以看出,线程2 偶尔会出现在主线程和线程1前面。