如何立即退出或停止线程?
当用户输入答案时,我该如何使其立即停止?我希望它可以在每个问题后重置。
这是涉及线程的代码:
int q1() {
int timer_start;
char ans[] = "lol";
char user_ans[50];
timer_start = pthread_create( &xtimer,NULL,(void*)timer_func,(void*)NULL);
printf("What is the capital city of Peru?\n");
while(limit){
scanf("%s",user_ans);
if(limit)
{
if(!strcmp(user_ans, ans))
{
// printf("YAY!\n");
score++;
// q2();
}
else
{
game_over();
}
}
}
}
gettimeofday
就足够了。请使用@xDianneCodex。 - Naruilgettimeofday()
(POSIX标准,但所有系统都会有类似的东西)可以访问系统时钟,它与您实现的任何其他计时方式一样准确。您在A点获取时间,在B点获取时间,B-A = 在两者之间发生的任何事情所经过的时间。 - CodeClown42SIGSTOP
/SIGCONT
会影响整个进程,在Linux上至少如此。参考链接。 - yyny