まず、これが私の質問の正しい場所でない場合は、ご容赦ください。
私は試験のために勉強しています。これは与えられたサンプルの質問です:
以前の試験で出題された問題:
生徒たちは会って映画を見に行くことにしました。生徒たちは会って映画を見に行くことにしました。会って映画を見に行くことにしました。group_size のグループに集まった後、チケットを買いに行きます。各学生の学生は自分のチケットを購入します(顧客になります)。チケット売り場は2カ所(各ブースに1名ずつ)。店員が空いている場合は、オンラインで次の顧客にサービスを提供します (一度に 1 人の顧客)。どちらのブースも1列のみです。
セマフォとセマフォに対する操作を使用して、Student と Clerk の 2 つのスレッド タイプを同期します。numStundents (デフォルト 9) と numClerks (デフォルト 2) があります。早朝にブースに列を作っている顧客がいないことを考慮してください。店員の観点から (それはあなた次第です)、両方の店員がすでに出勤しているか、どちらもまだ到着していない (最初の顧客が現れたとき) と見なすことができます。numStudents よりも多くの顧客がいます。使用される各セマフォのタイプと初期値を示し、その使用法を簡単に説明してください。ブール変数の使用をセマフォで置き換えることができる場合は、ブール変数を使用しないでください。同期のほぼ前に、スレッドの可能な実行疑似コードは次のようになります。
Student ( ) { arrive to meeting place // napping group together go buy ticket buy ticket //napping watch movie // napping } Clerk ( ) { get to workplace // napping while(true) { serve customer // if ∃ a customer } }
誰かがこの質問を解決するのを手伝ってくれたら、本当に感謝しています。