1

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

4

1 回答 1

2

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

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

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

于 2012-07-21T07:33:26.803 回答