可重入函数

可重入函数是指 一个函数可以被重入,表示这个函数没有执行完成,由于外部因素或内部调用,又一次进入该函数执行。 一个函数要被重入,只能有两种情况:

  • 多个线程同时执行该函数

  • 函数自身(可能是经过多层调用之后) 调用自身

一个函数要成为可重入的,必须具备以下几个特点:

  1. 不使用任何(局部)静态或全局的非const变量
  2. 不返回任何(局部)静态或全局的非const变量指针
  3. 仅依赖于调用方提供的参数
  4. 不依赖任何单个资源的锁
  5. 不调用任何不可重入的函数

可重入是并发安全的强力保障,一个可重入的函数可以在多线程下放心使用

文档更新时间: 2021-03-08 18:39   作者:周国强