• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

20:26초 테스트 하는 부분 질문

22.01.27 23:03 작성 조회수 145

1

 

현재 이렇게 뜨고 실행을 하고 콘솔창을 보면

 

그냥 종료가 되어 버립니다. 람다식으로 넣어준 while문을 true로 하고 { } 이렇게 해주어도 그냥 바로 종료가 되어 버리고

 

디버거 옵션을 "내코드만"부분을 해제도 해보고 다시 설정을 해보아도 똑같습니다..ㅠㅠ

 

무엇이 문제일까요 

 

CPU 코어 갯수는 8개라고 나와있습니다

답변 3

·

답변을 작성해보세요.

2

t.Join();이 빠져 있으면 메인 쓰레드가 자식들을 기다리지 않고 종료하기 때문입니다.

0

똑같이 실행하지 않았습니다.
전 MainThread를 무한루프로 만들었기 때문이죠.
쓰레드가 무한 루프가 아니라면 할 일을 끝내고 종료되는게 정상입니다.

starkshn님의 프로필

starkshn

질문자

2022.02.03

지금 

Main함수에서 실행하는 쓰레드를 "메인 쓰레드"라 부르는데 메인 쓰레드는 일감만 던져주고 바로 종료가 되기 때문에

 

 

이렇게 밑에 바로  종료가 안되도록 while문을 넣어 주고 테스트를 다 하시는 건가요???

 

네 Main 함수가 종료되지 않도록 붙잡아주시면 되겠습니다.

강의 초반부엔 반대로 MainThread 함수 자체를 while()로 만들고 Join() 을 썼고요.

starkshn님의 프로필

starkshn

질문자

2022.02.04

무슨말씀인지 감이 조금 옵니다 감사합니다 :)

0

starkshn님의 프로필

starkshn

질문자

2022.02.03

삭제된 글입니다
starkshn님의 프로필

starkshn

질문자

2022.02.04

감사합니다 :)