可能性の重複:
Malloc thread-safe?malloc()はリエントラントではありませんが、スレッドセーフですか?
私は、 "Linuxのプログラミング・インタフェース" を読んでいる間、私は少し混乱していないです。
本書では、グローバルリンクリストのデータ構造を操作するため、mallocはリエントラントではないと言われていますが、mutexを使用してスレッドセーフになっています。
これは混乱しています:mutexを使用するとスレッドセーフであるため、同時に複数のスレッドが呼び出すことができます。なぜリエントラント関数ではないのですか? (再入可能とは、複数の呼び出し元が同時に呼び出すことができると言う場合)
もう1つの質問は、mallocはスレッドセーフなので、シグナルハンドラに入れることができるということですか? 私はこの答えが「はい」だと思いますが、この本によれば、シグナル・ハンドラにはリエントラントまたは非同期シグナル安全な関数しか入れられないと言われています。
誰でもこのことを私に説明できますか?
mallocの実装にはミューテックスが含まれていますか? – Bingo