pthread API の勉強を始めたばかりです。私はさまざまな本や Web サイトを使用してきましたが、それらすべてのレポートから判断すると、pthread 同期関数 (mutex を含む関数など) はすべて、ユニプロセッサ環境とマルチプロセッサ環境の両方で機能します。しかし、これらの情報源のどれもそれを明示的に述べていないので、それが実際に当てはまるかどうかを知りたかったのです (もちろん、そう信じています。100% 確信したかっただけです)。
では、異なる CPU で実行されている 2 つのスレッドpthread_mutex_lock()
が同時に同じミューテックスでロック (例: ) を呼び出した場合、このルーチンの実行は並列ではなく順次実行されるのでしょうか? そして、最初のロックが終了し、それを呼び出したスレッドがクリティカル セクションへのプライベート アクセスを取得した後、別の CPU 上の別のスレッドによって実行されたロックにより、後者のスレッドが中断されますか?