任务1:定义一个全局变量 int a=10,主线程能否访问到,分支线程能否访问到
1.1、实现过程
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
int a = 10;
void* pthread_c(void *arg);
int main(int argc, const char *argv[])
{
//创建分支线程
pthread_t tid;
int res = pthread_create(&tid,NULL,pthread_c,NULL);
if(res != 0){
printf("线程创建失败\n");
return -1;
}
//主线程
while(1){
printf("主线程:a = %d\n",a);
sleep(1);
}
return 0;
}
//分支线程
void* pthread_c(void *arg){
while(1){
printf("分支线程:a = %d\n",a);
sleep(1);
}
}
1.2、实现效果
1.3、结论:定义一个全局变量,主线程和分支线程都够访问到。
任务2:分支线程中修改上述的a = 20, 问主线程中访问该a,是10还是20