#include <thread>
auto 함수명 = [&]()
{
while(1) {
//작업
}
}
std::thread CallThread(함수명);
이렇게 해서 특정 함수를 1초마다 실행시키고있는데
ESC 누르면 탈출되게 하고싶은데
그냥 return 0;만하면 thread가 열려있어서?? 그런건지 오류가 나더라구요
이 스레드를 종료시키는 함수는 없나요?
#include <thread>
auto 함수명 = [&]()
{
while(1) {
//작업
}
}
std::thread CallThread(함수명);
이렇게 해서 특정 함수를 1초마다 실행시키고있는데
ESC 누르면 탈출되게 하고싶은데
그냥 return 0;만하면 thread가 열려있어서?? 그런건지 오류가 나더라구요
이 스레드를 종료시키는 함수는 없나요?
join 이라는 메소드 있다 - return 0;
밖에서 쓰레드 죽일꺼면 join 하고, 안에서 탈출할꺼면 밖에서 release 해준다음에 안에서 return 하면 된다 - return 0;
ㄴ 아 저거 스레드가 무한루프라서 join하면 계속 돌아가버려서요 그냥 딱 kill시켜버리고 return 0; 해서 프로그램을 끝내고싶은데 작업중 강제종료해버리는 방법은 없나요??
ㄴ 구글 찾아봐도 release가 안나오는데 release가 메소드가 아니고 뭔가 해제시키는?? 그런 방법인가여??
메소드 맞다 - return 0;
ㄴ 아하 그렇군요 조금 더 알아보겠습니다 답변해주셔서 감사합니다 센세
아 릴리즈가 아니라 디태치네 쏘리 detach - return 0;
ㄴ 감사합니당
ㄴㄴ 덕분에 해결됬습니다 정말로 감사드립니다 센세!!