public class Program
{
public static void Main(string[] args)
{
Thread vithread1 = new Thread(timeExtend);
vithread1.Start();
Console.WriteLine("In M A I N -----------------------.");
}
public static void timeExtend()
{
for(int i = 0; i<3;i++) {
Console.WriteLine("Working thread...");
Thread.Sleep(100);
}
}
}
Working thread출력이 왜 1번만 되나요? for문인데
Main Thread가 종료되어도 withread1은 독립적으로 생명을 유지하지 않나요?
Async와 다른가요?
함수에 있는 public Static 에서 static 빼고 실행해보셈
원래 Thread가 Main에 종속되나요? static으로 하면?
뭐지? 잘 나오는데? 걍 너컴이 문젠거같은디?
main함수가 리턴할때 리소스 다뱉고종료함 그거싫으면 멀티프로세스 fork
ㅇㅅㅇ 프로세스와스레드의 관계를 머릿속으로 그려보시고 프로그램이 종료되면 프로세스가 종료된다고 상상해보세요 ㅇㅅㅇ
그리고 파이썬이나 고랑으로코드를가져오세용 ㅇㅅㅇ
다른 사람들은 되는데 님은 안된다는겁면 버전차이로 코드완료사 모든프로세스를 종료하는게 파이썬 이고 그 차이가나는게 님이적은 씨플같아요 ㅇㅅㅇ
vithread1이 종료되기 전에 main함수가 종료되어서 1번만 출력될 수 있다고 했잖아. 그리고, main thread가 종료되면, 프로세스가 종료되어서 vithread1은 독립적으로 생명을 유지하지 못함.
그게 key word였네요 가르침 감사 main thread종료시 하위 process도 종료된다 ㅜㅜ