0

(1)マルチスレッドプロセスで、1つのスレッドがI / Oでビジーの場合、プロセス全体がブロックされますか?

(2)ミューテックスとバイナリセマフォのどちらを使用するのが良いですか?いつミューテックスを使用する必要があり、いつバイナリセマフォを使用する必要がありますか?

4

2 に答える 2

1

1)。マルチスレッドアプリケーションでは、一度に1つのスレッドのみにCPUが割り当てられます。スレッドが定期的にI/Oでビジーであると言っている場合、実際には、他のすべてのスレッドがCPUを割り当てるためにキューで待機し続ける可能性があります。使用するCPUによって異なりますallocation algorithm。スレッドがTime-Sharingアルゴリズムを使用している場合と同様に、もちろん時間の完了時に、現在のスレッドがキューの最後に送信されます。

2)。この投稿をチェックしてください:-バイナリセマフォとミューテックスの違い

于 2012-09-24T17:16:49.247 に答える
0

1)SMP環境では、複数のスレッドを並行して(異なるCPUで)実行できます。単一のCPU環境では、一度に1つのスレッドのみが実行されます。

2)このdiff-binary-semaphore-and-mutexを読む

于 2012-09-27T20:36:46.327 に答える