今天遇到的加锁问题

 

//有一些  头文件没有加上

#include<iostream>
#include<pthread.h>
#include<unistd.h>
using namespace std;
pthread_t ntid;
static long lData=0;
static bool bFlag=false;

static void*thr_fn(void*arg)
{
    while(1)
    {
        sleep(1);//当时间为很小的值时候  ok   当时间  大一点  出问题  自己找     下次 再整理下  找出问题  哪些地方需要加上锁为什么要加上 !
        if(bFlag){
            cout<<"currentdatais:"<<lData<<endl;
        }
    bFlag=false;
    }
    return((void*)0);
}

int main(void)
{
    int err;
    err=pthread_create(&ntid,NULL,thr_fn,NULL);
    if(err!=0)
    printf("error");
    while(1){
        lData=random();
        bFlag=true;
        sleep(1);
    }
    pthread_join(ntid,0);
    //exit(0);
    return  0;
}

 

posted on 2017-10-15 22:00  zhangkele  阅读(136)  评论(0编辑  收藏  举报

导航