using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApplication58
{
class MultiThreading
{
static void Main(string[] args)
{
MultiThreading mul = new MultiThreading();
Thread t1 = new Thread(new ThreadStart(mul.WriteX));
Thread t2 = new Thread(new ThreadStart(mul.WriteO));
t1.Priority = ThreadPriority.Lowest;
t2.Priority = ThreadPriority.Highest;
t1.Start();
t2.Start();
}
private void WriteX()
{
for (int i = 0; i < 300; i++)
{
Console.Write("X");
}
}
private void WriteO()
{
for (int i = 0; i < 300; i++)
{
Console.Write("O");
}
}
}
}
위의 코드를 실행하면 인쇄 작업이 끝날 것으로 예상됩니다. 그 방법은 최하위 우선 순위를 부여했기 때문에 결국에는 O가 표시되기도합니다. 제 2 스레드 보장에 우선 순위를주지 않는 것이 더 빨리 끝나겠습니까?ThreadPriority를 지원하지 않습니다. ThreadPriority.Lowest 이전에 최우선으로 마무리됩니다.
아마도 코어가 1 개인 CPU가 있지만 현대 컴퓨터에서 발견 된 행운을 빕니다. –