2012-03-01 73 views
2

在APUP 12.5節,提到:線程安全VS異步信號安全

「 如果函數是可重入相對於多線程,我們說它是線程安全的這不告訴。但是,我們是否該功能在信號處理程序方面是可重入的。「

我很困惑爲什麼函數是線程安全的,但可能不是異步信號安全的。

有沒有例子?

感謝

回答

1

函數可以通過保護其與互斥修改狀態,進行線程安全的。然而,這不是異步信號安全的,因爲如果你調用該函數,例如從信號處理程序中,程序可能會死鎖。

該屬性的一個常用函數是malloc()。