2012-03-01 51 views
2

在APUP 12.5节,提到:线程安全VS异步信号安全

“ 如果函数是可重入相对于多线程,我们说它是线程安全的这不告诉。但是,我们是否该功能在信号处理程序方面是可重入的。“

我很困惑为什么函数是线程安全的,但可能不是异步信号安全的。

有没有例子?

感谢

回答

1

函数可以通过保护其与互斥修改状态,进行线程安全的。然而,这不是异步信号安全的,因为如果你调用该函数,例如从信号处理程序中,程序可能会死锁。

该属性的一个常用函数是malloc()。