본문 바로가기
Programing_Language/C#

[쓰레드] IsBackground , join

by neohtux 2020. 7. 17.
728x90

Thread IsBackground;

public bool IsBackground { get; set; }

스레드가 배경 스레드인지를 나타내는 값을 가져오거나 설정합니다.

반환 값:
이 스레드가 백그라운드 스레드이거나 백그라운드 스레드가 될 예정이면 true이고, 그렇지 않으면 false입니다.

예외:
 T:System.Threading.ThreadStateException:
 스레드가 중지되었습니다.

 

 

 

해당 쓰레드를 백그라운드로 돌릴것이냐 포그라운드로 돌릴것이냐 설정 할 수 있다.

 

디폴트(default)는 false 값을 가지고있다.

 

 

true 설정을 하면 백그라운드 쓰레드로 설정하겠다는 뜻이고.

메인 쓰레드가 종료되면 백그라운드 쓰레드가 작업하던 I'm Thread 출력을 상관없이 종료 시킨다.

 

반대로 

false의 경우 

메인함수가 종료되어도 쓰레드가 종료되지 않는것을 확인할 수 있다.

 

 

기본적으로 쓰레드를 만들면 전면부 에서 실행된다는 것을 알 수 있다.

 

 

Thread Join()

요약:
  표준 COM 및 SendMessage 펌프를 계속 수행하면서 이 인스턴스가 나타내는 

                스레드가 종료될 때까지 호출 스레드를 차단합니다.

예외:
System.Threading.ThreadStateException:
호출자가 System.Threading.ThreadState.Unstarted 상태의 스레드에 연결하려고 했습니다.
T:System.Threading.ThreadInterruptedException:
스레드가 대기하는 동안 중단되었습니다.

 

c#에서의 wait() 함수이다.

 

쓰레드가 종료될때까지 기다린다. 

 

백그라운드로 설정한 스레드여도 종료될때까지 기다리는것을 확인할 수 있음.

 

300x250

댓글