スレッドおよびプロセス レベルでのセマフォとミューテックスの使用について混乱しています。スレッドとプロセスの両方の同期にセマフォとミューテックスを使用できますか? または、スレッドとプロセスの両方のレベルで異なるセマフォとミューテックスを使用できますか? 私の質問は、POSIX API に関するものです。
質問する
2393 次
2 に答える
5
両方の質問に対する答えはイエスです。ミューテックスとセマフォの両方をプロセス共有または非プロセスとして作成できます。したがって、それらをプロセス間またはスレッド間同期オブジェクトとして使用できますが、作成時にどちらを指定する必要があります。
もちろん、アクセスするすべてのコンテキストで共有されるメモリ内に同期オブジェクトを作成する必要があります。スレッドの場合、メモリのビューを共有するため、これは簡単です。プロセスでは、特に共有メモリに同期オブジェクトを作成する必要があります。
于 2012-09-03T17:17:21.473 に答える
1
同期は、要素がデータを共有するとき、またはタスクを順序付けする必要があるときに要素を保護します。
プロセスとスレッドは基本的に同じです (違いはあります)。それらは何らかの作業を行う計算の一部です。唯一注意しなければならないことは、プロセスを操作するときとスレッドを操作するときですが、使用される方法は同じです。
于 2012-09-03T22:58:29.887 に答える