2

したがって、Javaでセマフォを使用して配列をソートするタスクがあります。タスクは非常に簡単で、数分近くで解決しましたが、最後の部分をマージしました。

私たちのタスクは、指定された配列を2つに分割し、パーツを同時にソートし(セマフォを使用)、次に再度マージする(セマフォを使用)ことでした。

私の質問は、一度に1つしか要素を配列にプッシュできないため、最終的な配列を埋める間、それぞれが常に互いに待機する必要があるため、複数のスレッドを使用してマージする目的は何ですか?

それとも私は何かが足りないのですか?ありがとう。

4

1 に答える 1

1

結果の配列の反対側から2つの異なるスレッドとマージできます。各スレッドは、結果の配列の半分まで満たす必要があります。次に、スレッドはセマフォを「バリア」として使用できます。セマフォを使用してNプロセスバリアを実装し、相互に待機します。

于 2012-10-08T19:51:22.353 に答える