我时不时碰到这个名词。
现在,我真的需要一个清晰的解释,因为我希望使用一些MPI例程
据说不是中断安全的。

最佳答案

我相信这是reentrant的另一种措辞。如果函数是reentrant,则可以在中间将其中断并再次调用。

例如:

void function()
{
    lock(mtx);
    /* code ... */
    unlock(mtx);
}

显然,该函数可以由不同的线程调用(互斥体将保护内部代码)。但是,如果信号在lock(mtx)之后到达,并且再次调用该函数,则它将死锁。因此它不是中断安全的。

10-02 05:40