线程安全但不可重入

时间:2012-06-28 09:46:37

标签: multithreading operating-system

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

1 个答案:

答案 0 :(得分:2)

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

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

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