了解要导入的内容并了解其是否安全。
线程程序不能随意输入非线程代码。
线程代码只能从初始线程中安全引用不安全的代码。
以此方式引用不安全的代码确保了仅该线程使用与初始线程关联的静态存储。
使库可以安全地用于多线程时,请勿通过线程执行全局进程操作。
请不要将全局操作或具有全局负面影响的操作更改为以线程方式执行。例如,如果将文件 I/O 更改为每线程操作,则线程无法在访问文件时进行协作。
对于线程特定的行为或线程识别的行为,请使用线程功能。例如,终止 main() 时,应该仅终止将退出 main() 的线程。
thr_exit(); /*NOTREACHED*/
除非明确说明 Sun 提供的库是安全的,否则假定这些库不安全。
如果参考手册项没有明确声明接口是 MT-Safe,则假定接口不安全。
请使用编译标志来管理二进制不兼容源代码更改。有关完整的说明,请参见第 7 章,编译和调试。
-D_REENTRANT 启用多线程。
-D_POSIX_C_SOURCE 提供 POSIX 线程行为。
-D_POSIX_PTHREADS_SEMANTICS 启用 Solaris 线程和 pthread 接口。当这两个接口发生冲突时,将优先使用 POSIX 接口。