可能重复:
Malloc 线程安全?
在阅读“Linux 编程接口”时,我并没有感到困惑。
从书中它说 malloc 是不可重入的,因为它操纵全局链表数据结构,但通过使用互斥锁使其成为线程安全的。
我对此有点困惑:由于使用互斥锁是线程安全的,因此可以同时被多个线程调用,为什么它不是可重入函数?(如果我们说可重入意味着它可以被多个调用者同时调用)
另一个问题是,既然 malloc 是线程安全的,我们可以把它放在信号处理程序中吗?我认为答案是肯定的,但我不确定,因为根据这本书,它说只有可重入或异步信号安全函数可以放在信号处理程序中。
谁能给我解释一下?