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문인데
자바라서 답을못드리겟네여 ㅇㅅㅇ 고랑이나 파이썬으로 다시작성해오세여 ㅇㅅㅇ
C#임
내가 이 코드 자바로 바꿔서 실행했더니 원하는값 나오더라고.. VS에서도 다르지 않을것 같은데, 혹시 디버거 걸려있는건 아니겠지..?
데몬 스레드면 한 번만 출력 되는데 데몬 스레드로 설정 안해서 3번 출력 될텐데 흠
c# fiddle 웹사이트에서 그런가보네요 vs로 해볼께염
락걸린거아님?
ㅋㅋ
Vs스튜디오깔아욤
쓰레드가 완료되기 전에 메인함수(메인쓰레드)가 종료되어서 그럼.
맞네ㅇㅇ슬립일때메인이임리턴되면서끝났구나
메인함수 마지막에 vithread1.Join(); 호출해봐봐.
진정한 고수가 나타났다 았싸
둘이 따로 노는 거 아님...그래서 Thread 만든 거 아님! 또 합쳐야 하다니 ㅜㅜ
Join은 쓰레드가 종료할 때까지 대기하라는 거임. Join 싫은면 Thread.Sleep(1000); 을 호출해도 됨.
스레드가 MainThread와 viThread1이 2개 있는데 서로 독립된 것 아니냐는 거지? Async처럼