文章目录
- 12. 处理遗留问题
- 13. 线程
- 14. 创建线程
- 15. 第三章总结
- #上一篇
- #下一篇
[注]:本篇文章与上一篇紧密相关,若未阅读上一篇请移步上一篇阅读,在文末可以找到上一篇链接。
12. 处理遗留问题
在之前提到了两个问题分别是:
- 用户态程序是如何判断
fork()
函数的两个不同的返回值,fork()
是如何实现返回两个不同的返回值这样的机制? - 父进程在子进程
exit()
退出执行后,在什么时机调用wait()
释放子进程的所有资源?也就是说,父进程怎么知道子进程什么时候退出运行了。
12.1. 问题 1 的分析
在分析问题之前首先来观察问题是如何产生的,来看一段再平常不过的 fork()
函数使用示例:
#include <stdio.h>
#