POSIX 线程迷你参考指南
1. 前言
在多线程编程中,为了让新的线程环境与传统基于进程的 UNIX 环境更好地共存,POSIX 线程提供了一系列新的函数。下面将详细介绍这些函数及其使用方法。
2. Fork 处理函数
在多线程应用中,通过复制完整地址空间创建子进程会带来问题,因为fork调用相对于进程中的其他线程是异步的。为了解决这个问题,引入了pthread_atfork函数。
int pthread_atfork ( void (*prepare) (void), void (*parent) (void), void (*child)(void) );该函数定义了“fork 处理函数”,在进程创建子进程时运行。它可以保护子进程中的同步对象和共享数据,否则这些数据很难控制。
-引用:6.1.1
-头文件:<unistd.h>
-错误:[ENOMEM]记录处理函数的空间不足。
-提示:必须保护子进程所需的所有资源。
3. 标准输入输出(Stdio)
为了让线程安全地访问 ANSI C 标准输入输出功能,POSIX 线程提供了一些新函数和旧函数的新