스레드가 끝날 때 무한 루프를 휴식하는 방법을 솔루션을 찾고 있어요. 코드가 복잡하기 때문에 주요 부분 만 표시합니다. 스레드에 의해 C에서 무한 루프에 대한 간단한 휴식 방법
for(;;){ if(stan==false)
pthread_create(&counter, NULL, count_me, NULL);
//to create thread only once in loop
stan=true;
move=getchar();
//(...) action.... doesn't matter
}
보시다시피
아래 이봐, 메인은 getchar가() FUNC에서 사용자 이동을 기다리고 있습니다. 스레드를 생성 한 후 10 초 후에이 루프를 중단하고 싶습니다. 당신의 도움이
무한 루프를 끊을 수 없습니다. 깨지면 무한하지 않습니다. 어쨌든 전역 변수 인'volatile int endLoop = 0;'을 사용하고 다른 스레드에서 1로 설정하십시오. 루프에서 매번 확인하십시오. – sashoalm
실제로 getchar을 취소하고 싶다고 생각합니다. 내가 올바르게 이해했다면이 접근법이 도움이 될 것입니다. http://stackoverflow.com/questions/11513593/cancelling-getchar – alediaferia