小白学c++之多线程共享资源

来源:互联网 发布:数据分析体系架构 编辑:程序博客网 时间:2024/06/05 09:55
#include <stdio.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>void* fun(void* arg);int main(int argc,const char* argv[]){pthread_t thd;int* p=new int(1);pthread_create(&thd,NULL,fun,NULL);int i=0;for(;i<10;++i){printf("child thread id is:%x\n",thd);sleep(1);}delete p;return 0;}void* fun(void* arg){int i=0;for(;i<10;++i){printf("hi,child thread,:%d\n",*p);sleep(1);}pthread_exit(NULL);}
这段代码编译不会通过,p会被报错“未被声明”,说明man线程中的堆变量时局部堆变量,不会被共享。
0 0
原创粉丝点击