Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 Java의 Thread.setDaemon에 해당하는 기능은?

C#에서 Java의 Thread.setDaemon에 해당하는 기능

Java의 Thread.setDaemon에 해당하는 C# 기능은 바로 포그라운드 스레드(Foreground Thread)백그라운드 스레드(Background Thread) 개념입니다.

애플리케이션의 모든 포그라운드 스레드가 종료되면 백그라운드 스레드는 자동으로 강제 종료됩니다. 반면 포그라운드 스레드는 마지막 포그라운드 스레드가 종료될 때까지 계속 실행됩니다.

IsBackground 속성

스레드를 백그라운드로 설정하는 데 사용되는 속성은 IsBackground입니다. 이 속성은 해당 스레드가 백그라운드 스레드인지 여부를 나타내는 값을 가져오거나(get) 설정(set)할 수 있습니다.

기본값은 false입니다. 그 이유는 기본적으로 생성되는 스레드가 모두 포그라운드 스레드이기 때문입니다.

C#에서 데몬 스레드 만들기

C#에서 스레드를 Java의 데몬 스레드처럼 동작하게 하려면 IsBackground 속성을 true로 설정하면 됩니다.

Thread bgThread = new Thread(tStart);
bgThread.IsBackground = true;
bgThread.Start();

위 예제에서 bgThread는 백그라운드 스레드로 설정되었습니다. 따라서 프로세스 내의 모든 포그라운드 스레드가 종료되면 CLR(공용 언어 런타임)이 이 스레드를 자동으로 종료시킵니다. 이는 Java의 데몬 스레드가 JVM 종료 시 함께 종료되는 것과 동일한 동작 방식입니다.