Thead 의 IsBackground 속성
using System;
using System.Threading;
namespace ConsoleApp4
{
class Program
{
private static int count;
static void Main(string[] args)
{
Console.WriteLine(“Hello World!”);
count = 0;
Thread th;
ThreadStart thStart = new ThreadStart(threadfunc);
// IsBackground 가 false 이면 포그라운드 쓰레드(Foreground thread) ,
// IsBackground 가 True 이면 백그라인드 쓰레드(Background thread) 라고한다.
// th.IsBackground = true;
// 메인 함수 실행이 종단점에 도달, 메인이 종료되면 쓰레드가 같이 종료함(쓰레드가 무한이더라도)
// th.IsBackground = false; ★ 디폴트
// 메인 함수 실행이 종단점에 도달하더라도, 쓰레드가 작업이 끝날때까지 종료되지 않으며, 계속 유지함(메인만종료)
th = new Thread(thStart);
th.IsBackground = true;
th.Start();
}
public static void threadfunc()
{
while(true)
{
Console.WriteLine((count++).ToString());
}
}
}
}
// th.IsBackground = false; ( ★ IsBackground 기본값은 false)
// 메인 함수 실행이 종단점에 도달하더라도, 쓰레드가 종료되지 않으면 계속 유지함
// th.IsBackground = true;
// 메인 함수 실행이 종료 되어, 쓰레드가 무한루프트지만 같이 종료됨