多线程编程指南

包括 <thread.h><pthread.h>

包括文件 <thread.h> 可以编译与早期的 Solaris 软件发行版向上兼容的代码。此文件包含 Solaris 线程接口的声明。要使用 POSIX 线程调用 thr_setconcurrency(3C),程序需要包括 <thread.h>

包括文件 <pthread.h>(与 -lpthread 库结合使用)可以编译符合 POSIX 标准定义的多线程接口的代码。为了与 POSIX 完全符合,应该将功能测试宏 _POSIX_C_SOURCE 的值 (long) 设置为 ≥ 199506。请参见 standards(5) 手册页。

对于 1996 版 POSIX 标准:

cc89 -D_POSIX_C_SOURCE=199506L [flags] file

对于 2001 版 POSIX 标准:

cc99 -D_POSIX_C_SOURCE=200112L [flags] file ... [-l rt]

可以在同一个应用程序中混合使用 Solaris 线程与 POSIX 线程。请在应用程序中同时包括 <thread.h><pthread.h>

如果二者混合使用,则当使用 -D_REENTRANT 编译时,将采用 Solaris 语义,而当使用 -D_POSIX_C_SOURCE 编译时,将采用 POSIX 语义。