0

私が受講しているクラスでは、マルチスレッド プログラミングについて説明しています。教授は、私が理解しようとして無駄に試みていたおまけの質問を提供しました:

プロセス P0、P1、P2、および P3 のそれぞれは、他の 3 つのプロセスがコード内の特定の同期ポイントを通過または到達するまで待機する必要があり、その後でのみ、そのプロセスは自身の同期ポイントを通過できます。

私はすでに 4 つのセマフォで質問に答える方法を知っていますが、難しいのは 1 つのセマフォだけでそれを行うことです。

続行する方法に関する提案やヒントはありますか?

4

3 に答える 3

0

教授は、1 つではなく 2 つのセマフォを使用できると言うつもりだったことがわかりました。彼は、私がこの問題についてしばらく考えた後でそうするように、単一のセマフォでそれを行うことは不可能だと考えています。

于 2009-10-27T04:39:30.580 に答える
0

ソリューションに課せられた制約について少し理解していますが、The Little Book of Semaphoresを参照し、バリアに関するセクションを読んでください。それはあなたにいくつかのアイデアを与えるはずです。

于 2009-10-26T02:27:12.403 に答える
0

セマフォがバイナリでない場合は、セマフォを -4 で初期化してください。

于 2009-10-26T01:00:09.163 に答える