浙江工商大学操作系统作业四

4.1

df79ef6b8cae41b49378523fb129443c.png

在多线程的进程中,下面的部分是被该进程中的所有线程共享的:

全局变量:全局变量存储在进程的数据段中,对所有线程都是可见的,因此被所有线程共享。
堆内存:堆内存是由进程动态分配和管理的内存区域,对所有线程都是可见的,因此被所有线程共享。
而下面的部分是不被线程共享的:

栈内存:每个线程都有自己独立的栈内存,用于存储局部变量、函数调用信息等,因此不同线程之间的栈内存是相互独立的。
寄存器值:寄存器值是保存在CPU寄存器中的数据,通常是线程私有的,因此不同线程之间的寄存器值是不共享的。

4.2

a61691de5b3b46f28e1f7108be26407d.png

在子进程中,通过 pthread_create() 创建了一个新的线程,并调用 runner() 函数来执行这个线程。在 runner() 函数中,将 value 的值设置为 5。然后,通过 pthread_join() 等待线程执行完毕。在父进程中,通过 wait(NULL) 等待子进程执行完毕。由于子进程中的线程已经将 value 的值设置为 5,因此在子进程中打印出的 value 的值为 5。而在父进程中,打印出的 value 的值仍然是 0,因为子进程中的 value 改变不会影响父进程中的 value。

4.3

7d729f26a9eb48a19e50ab06dd5f9bb5.png

答案并不对,123,23也是错的

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值