C++线程控制
#include <stdlib.h>
#include <stdio.h>
#include <pthread.h>
#include <signal.h>
void *view(void *args);
volatile bool stopFlag= false;//add
int main(){
pthread_t id;
pthread_create(&id,NULL,view,NULL);
//启动过后主程序开始自己的循环
int n = 0;
while(true){
printf("主线程中的n%d\n",n);
n++;
Sleep(1000);
if(n == 30){
// pthread_cancel(id);
// pthread_exit(&id);
stopFlag=true;//add
}
}
}
void *view(void *args){
int i = 0;
while(true){
if(stopFlag)break;//add
i++;
Sleep(1000);
printf("辅助线程中的i%d\n",i);
}
}
// pthread_exit(&id);
stoptime = 12345;//你想停多久都可以
}
}
}
[解决办法]