API 线程安全分类

每个 API 都具有线程安全分类。 在使用 API 之前,您需要确定在多线程程序中调用该 API 是否安全。

有几种类型的线程安全分类。
  • 线程安全: 是

    此分类指示您可以在多个线程中安全地同时调用 API 而不受限制。 此分类还指示此 API 调用的所有函数都是线程安全的。

  • 线程安全: 有条件

    此分类指示并非 API 提供的所有函数都是线程安全的。 API 的 "使用说明" 部分提供了与线程安全限制相关的信息。 许多 API 被归类为有条件线程安全,因为某些底层系统支持不是线程安全的,或者 API 可以调用出口点。 例如,当与线程安全文件系统中的文件一起使用时,许多文件系统 API 是完全线程安全的。 在某些情况下,某些有条件的线程安全 API 可能会拒绝访问。 API 使用说明描述了导致函数拒绝访问的条件。

  • 线程安全: 否

    此分类指示 API 不是线程安全的,并且不得在多线程程序中使用该 API。 虽然某些非线程安全的 API 可能会拒绝访问,但大多数非线程安全的 API 不会访问。 与 CL 命令不同,作业记录中没有诊断消息来指示已调用非线程安全的 API (拒绝访问的 API 除外)。 在多线程程序中,有一些调用函数的方法不是线程安全的。