【发布时间】:2012-06-28 09:46:36
【问题描述】:
我想知道函数是否有可能是线程安全但不可重入的。在一些网站上,他们说这是不可能的,而另一些网站则说这是可能的。他们给出的例子说这是可能的并不清楚。那么是否有可能拥有一个线程安全且不可重入的函数?有没有明确的例子可以证明这一点?
【问题讨论】:
-
Linux 的 PRNG。看看link
标签: multithreading operating-system
我想知道函数是否有可能是线程安全但不可重入的。在一些网站上,他们说这是不可能的,而另一些网站则说这是可能的。他们给出的例子说这是可能的并不清楚。那么是否有可能拥有一个线程安全且不可重入的函数?有没有明确的例子可以证明这一点?
【问题讨论】:
标签: multithreading operating-system
本文示例:http://en.wikipedia.org/wiki/Reentrancy_%28computing%29
int function()
{
mutex_lock();
...
function body
...
mutex_unlock();
}
如果中断中断此函数并且中断处理程序调用此函数,系统将永远挂起,因为第一个函数锁定了互斥锁。
【讨论】: