【问题标题】:Thread safe but not reentrant线程安全但不可重入
【发布时间】:2012-06-28 09:46:36
【问题描述】:

我想知道函数是否有可能是线程安全但不可重入的。在一些网站上,他们说这是不可能的,而另一些网站则说这是可能的。他们给出的例子说这是可能的并不清楚。那么是否有可能拥有一个线程安全且不可重入的函数?有没有明确的例子可以证明这一点?

【问题讨论】:

标签: multithreading operating-system


【解决方案1】:

本文示例:http://en.wikipedia.org/wiki/Reentrancy_%28computing%29

int function()
{
 mutex_lock();
 ...
 function body
 ...
 mutex_unlock();
}

如果中断中断此函数并且中断处理程序调用此函数,系统将永远挂起,因为第一个函数锁定了互斥锁。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多