今天遇到的加锁问题
//有一些 头文件没有加上
#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; }