40 の定期便の配列があります。各フライト オブジェクトには、フライト番号、航空会社、出発都市、到着都市、飛行時間、飛行時間などのデータが格納されています。
フライト時間が発生するたびに、フライト イベント ジェネレータ スレッドが各フライトのステータスを、Scheduled、Departed、Delayed、Arrived などに変更します。この部分は問題ではありません。
生産者と消費者の側面は次のとおりです。これらのイベント (出発、到着、遅延) が発生すると、前述のフライト イベント ジェネレーター スレッドは、これらの変更を航空会社のスレッド(航空会社ごとに 1 つのスレッド (フライト オブジェクト: Southwest、American などで指定) に発行) に発行する必要があります。次に、これらの航空会社のスレッドは、空港ごとに 1 つのスレッド (フライト オブジェクトによって指定されます) である、すべての空港フライト モニター スレッドに変更を公開します。これらのスレッドは、ファイルへの変更を公開します。
私の質問は、この一見複雑な生産者と消費者の問題をどのように正確に処理する必要があるかということです。また、同じ出発時刻の2つのフライトをどのように処理すればよいですか?