using System.Threading;
네임스페이스 System.Threading 을 선언하고, Main 함수 내에 Thread를 인스턴스 해준다.
static void Main(string[] args)
{
// thread라는 새로운 직원을 뽑아 어떤 것을 하라는 Start 명령을 내린 것이다.
Thread thread = new Thread();
}
다만 이렇게 할 경우 new Thread() 부분에 빨간색 밑줄이 그어질텐데 쓰레드로 활용할 부분을 지정 해주면 된다.
이렇게 원하는 Thread를 담아 생성 후, Start 해주면 Thread 들이 잘 동작하는 걸 볼 수 있다.
근데 왜 생성 될 때는 사진과 같은 순서가 되는지는 조금 더 찾아봐야 할 듯 하다.
ForeGround는 입력한 명령어 실행의 결과가 나올 때 까지 기다리는 것을 의미하는데, While을 통해 무한 루프를 걸어주어 이대로 실행하면 프로그램이 종료 되지 않는다.
하지만 MainThread의 IsBackGround를 true로 설정 해주면 BackgGround 구동 방식으로 변경되고, Main 함수가 종료 될 때 같이 종료된다.
참고로 IsBackGround는 설정 안 해줄 시 False이다.
F5 버튼으로 디버그를 실행 시킨 후 원하는 스레드를 찾아보며 디버그를 진행해야 어떤 부분이 오류인지 빠르게 파악할 수 있다.
만약 이와 같은 프로세스 창이 보이지 않는다면
보기 -> 도구모음 -> 디버그 위치 클릭
이름 없음으로 뜨는 것은 Thread.Name으로 간단하게 변경해줄 수 있다. 웬만하면 지정해주어 보기 편하게 하는게 좋을 듯 하다.
Thread.Join()
진행 중이 내역이 끝날 때 까지 대기 후 끝나면 다음을 실행한다.
동기식으로 진행 되는 거 같은데, MainThread가 3번 동작 후 다음 코드로 넘어가도록 만들어 줄 수도있다.