セマフォを使用して同期スレッドを実行しています。今度は、カスタマースレッドがfloor_clerkスレッドのセマフォを使用してキューに到着するまで待つ必要があります。以前はwhileループを使っていました。また、カスタマースレッドは、セマフォーを使用してfloor_clerkによってアシストされるまでも待機する必要があります。私は以前深い睡眠を使ってそれをやっていました。 待ちは、P(セマフォ)(取得)を使用して実装する必要があります。これは待機を行う方法です。 これは次のタスクです。 フロア担当者は、顧客が到着するのを待機します(セマフォを使用します)。どのような情報を必要としていても、彼らを助けます。しかし、フロア担当者は、一度に1人の顧客のみを助けることができます。したがって、顧客は、利用可能な店員を待つ(セマフォを使用する)必要があります。ビジー状態セマフォを使用して待機
待機のための私の以前のFloor_clerkコードは次のとおりです。
while (done != Main.csize) {
//wait while their is no customer in queue
while (queue.isEmpty() && done != Main.csize) {
}
//while their is a customer in queue assist customers
while (queue.size() != 0 && done != Main.csize) {
//some stuff to do
}
}
私はここにセマフォを実装して助けてください。
私は誰か助けてください? –