欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

线程安全与可重入函数

程序员文章站 2022-06-21 16:41:03
我个人对可重入函数的理解如下: 可重入函数需要指明可重入对象,分为线程可重入函数和信号可重入函数 线程可重入函数是可以被多个线程同时调用、且保证安全的函数,也叫做线程安全函数 信号可重入函数是在信号处理程序中保证调用安全的函数,也叫做异步信号安全函数 下图是APUE书中所说的POSIX.1中不能保证 ......

我个人对可重入函数的理解如下:

  • 可重入函数需要指明可重入对象,分为线程可重入函数和信号可重入函数
  • 线程可重入函数是可以被多个线程同时调用、且保证安全的函数,也叫做线程安全函数
  • 信号可重入函数是在信号处理程序中保证调用安全的函数,也叫做异步信号安全函数

下图是apue书中所说的posix.1中不能保证线程安全的函数,换而言之,未列入图中的函数都是线程可重入函数。

线程安全与可重入函数

通过和信号可重入函数对比,不难得出以下结论:

  • 所有的信号可重入函数,都是线程安全函数
  • 线程安全,异步信号未必安全