重入和线程安全功能之间的区别

Jay*_*Jay 8 c multithreading

重入函数和线程安全函数之间有什么区别?

Bri*_*sen 1

您检查过有关该主题的维基文章吗?它解释得很好,所以请参阅它以进行完整的讨论。

文章中的一些相关内容:

在计算中,如果计算机程序或子例程可以在执行过程中被中断,然后在其先前的调用完成执行之前再次安全地调用(“重新进入”),则该计算机程序或子例程被称为可重入。中断可能是由内部操作(例如跳转或调用)引起的,也可能是由外部操作(例如硬件中断或信号)引起的。一旦重新输入的调用完成,之前的调用将恢复正确的执行。

可重入的定义与多线程环境中线程安全的定义不同。可重入子例程可以实现线程安全,但仅可重入可能不足以在所有情况下都是线程安全的。相反,线程安全代码不一定必须是可重入的(请参阅下面的示例)。

  • 请发布一个实际的答案来总结链接,以防它变冷(就像现在的情况一样)。 (4认同)