C++ プログラムで pthreads と pthread_mutexes を使用したいと考えています。私はまだ実際のコードを持っていません。ミューテックスがどのように機能するかについての質問です。スレッド 1 でミューテックスをロックすると、n 個の他のスレッドが同じミューテックスをロックしようとします。スレッド 1 がミューテックスをロック解除すると、どのような動作になりますか? スレッド 1 がロックを取得し、スレッド 2 がロックを試み、次にスレッド 3 がロックを試みた場合、ロックが解放されたときにスレッド 2 がスレッド 3 よりも優先されますか?
ロックのより組織化されたタイムラインを次に示します。
thread 1 acquires lock
thread 2 attempts to lock
thread 3 attempts to lock
thread 4 attempts to lock
thread 1 unlocks mutex
??
言い換えれば、スレッドがロックを取得しようとした/作成された順序でスレッドを実行したいと考えています。これを行うためのより良い方法があれば、私は提案を受け入れる以上のものです。