首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++线程统制

2013-01-08 
C++线程控制[解决办法]#include stdlib.h#include stdio.h#include pthread.h#include signal.hvo

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);
    }
}

[解决办法]
volatile long stoptime= 1000;

void *view(void *args){
    int i = 0;
    while(true){
        i++;
        Sleep(stoptime);
        printf("辅助线程中的i%d\n",i);
    }
}

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);
        stoptime = 12345;//你想停多久都可以
        }
    }
}
[解决办法]

引用:
再问一下,我有这个变量了,那么需要用pthread_cancel()吗?

不用,创建的那个线程会自动退出,不知道是不是你想要的效果

热点排行