关于线程、进程之间的数据共享

/*进程与线程共享数据*/

/*在一进程创建两个线程:线程1、线程2,测试三者之间的关系*./

#include <stdio.h>

#include <pthread.h>

/*pthread.c*/

10 static int m;
 11 void *pthread1(void *arg)
 12 {
 13     printf("pthread1:m is %d/n",m);
 14     m=5;
 15     printf("pthread1:%d/n",m);
 16     return (void *)0;
 17 }
 18 void *pthread2(void *arg)
 19 {
 20     printf("pthread2:%d/n",m);
 21     return (void *)0;
 22 }
 23 int main(int argc,char *argv[])
 24 {
 25     pthread_t id1,id2;
 26     m=4;
 27     printf("m=%d/n",m);
 28     int res=0;
 29     res=pthread_create(&id1,NULL,(void *)pthread1,NULL);
 30     if(res)
 31     {

 32         perror("pthread1 create");
 33         exit(1);
 34     }
 35     printf("m=%d/n",m);
 36     res=pthread_create(&id2,NULL,(void *)pthread2,NULL);
 37     if(res)
 38     {
 39         perror("pthread2 create");
 40         exit(1);
 41     }
 42     printf("%d/n",m);
 43     return 0;
 44 }

gcc pthread.c -lpthread

./a.out

结果

m=4
pthread1:m is 4
pthread1:5
m=5
pthread2:5
5
结论:进程、线程之间共享数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值