首页 > 系统服务 > 详细

父子进程的共享资源

时间:2019-07-28 22:08:37      阅读:135      评论:0      收藏:0      [点我收藏+]
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <unistd.h>
 4 int global = 1;/*初始化的全局变量,存在data段*/
 5 
 6 int main(void)
 7 {
 8     pid_t pid;/*存储进程id*/
 9     int stack = 1;/*局部变量,存在栈中*/
10     int *heap;/*指向堆变量的指针*/
11     heap = (int*)malloc(sizeof(int));
12     *heap = 3;/*设置堆中的值是3*/
13     pid = fork();/*创建一个新线程*/
14     if(pid < 0){
15         perror("fail to fock!\n");
16         exit(-1);
17     }
18     else if(pid == 0){
19         /*子进程,改变变量的值*/
20         global++;
21         stack++;
22         (*heap)++;
23         /*打印出变量的值*/
24         printf("In Sub-process,global: %d,stack: %d,heap: %d\n",global,stack,*heap);
25         exit(0);
26     }
27     else{
28         /*父进程*/
29         sleep(2);/*休眠2秒钟,确保子进程执行完毕,在执行父进程*/
30         printf("In Parent,global: %d,stack: %d,heap: %d\n",global,stack,*heap);
31     }
32     return 0;
33 }

 

父子进程的共享资源

原文:https://www.cnblogs.com/--lr/p/11260932.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!