반응형
메인 쓰레드를 만들때 사용
(프로세스 우선순위 최대, 쓰레드 우선순위 최대, Sleep 최소화)
using System.Diagnostics;
using System.Threading;
using System.Windows.Forms;
namespace WindowsFormsApp40
{
public partial class Form1 : Form
{
Thread MainThread ;
public Form1()
{
InitializeComponent();
MainThread = new Thread(Update);
//WinApi.TimeBeginPeriod(1);
//Process 우선순위 RealTime
Process.GetCurrentProcess().PriorityBoostEnabled = true;
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime;
//Thread 우선순위
MainThread.Priority = ThreadPriority.Highest;
MainThread.Start();
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//종료전 쓰레드 중지
MainThread.Abort();
MainThread.Join();
}
public void Update()
{
Debug.WriteLine("Thread {0}: {1}, Priority {2}", Thread.CurrentThread.ManagedThreadId, Thread.CurrentThread.ThreadState, Thread.CurrentThread.Priority);
while (true)
{
Thread.Sleep(0);
//여기에 할일 작성
}
}
}
}
반응형
'C#' 카테고리의 다른 글
C# Queue 자료구조 (feat Thread-safe한 ConcurrentQueue) (0) | 2021.06.30 |
---|---|
2021년 6월 29일 프로그래밍 언어 순위 및 비교 (0) | 2021.06.29 |
C# 구조체 형식 및 구조체 저장하기(Serializable) (0) | 2021.06.28 |
윈도우 11 업그레이드 가능여부 확인 방법! (0) | 2021.06.25 |
C# define 전처리기 지시문 및 상수(Constants) 클래스 (0) | 2021.06.25 |