반응형
매개변수 없는 Thread(스레드) 실행
//일반 스레드 실행
public void ThreadFunc() {
//...
}
new Thread(ThreadFunc).Start();
매개변수 있는 Thread(스레드) 실행
//매개변수 스레드 실행 : 파라메타는 object형식으로!
public void ThreadParamFunc(object num) {
int number = (int)num;
//...
}
new Thread(new ParameterizedThreadStart(ThreadParamFunc)).Start(num);
무한루프 Thread(스레드) 실행
//무한루프 스레드 예제
bool isThread = true;
public void ThreadFunc() {
while(isThread) {
Thread.Sleep(1000);
//처리...
}
}
new Thread(ThreadFunc).Start();
//스레드 종료
void threadStop() {
isThread = false;
}
Thread(스레드) 동기화(해당 루틴이 종료될때까지 재진입 막기)
- Lock이용
System.Object lockObj = new System.Object();
void func() {
lock(lockObj) {
//처리...
}
}
- Monitor이용
System.Object lockObj = new System.Object();
void func() {
//동기화 시작
Monitor.Enter(lockObj) {
//처리...
//동기화 종료
Monitor.Exit(lockObj);
}
반응형
'윈폼(Winform)' 카테고리의 다른 글
C# 그림자(Shadow) + 그라디언트(Gradient) 배경 라벨(Label) (0) | 2021.11.18 |
---|---|
C# UI Thread Crash 방지(InvokeRequired) (0) | 2021.11.18 |
C# 비동기 실행(async, await), 비동기에서 UI처리 (0) | 2021.11.18 |
C# 줄바꿈 자동 서식 변경(중괄호 {} 사용시) (0) | 2021.11.18 |
C# WinForm 화면 깜빡임 방지 (1) | 2021.11.18 |
최근댓글