私は2つのスレッドを実行しています。1 つは 、もう 1 つはTimeStepThreadですCarThread。はCarThread500 ミリ秒ごとに実行されます。私が与えたTimeStepThreadどんな間隔でも走ります。これで、500 ミリ秒ごとCarThreadに、道路上の車の位置の動きが更新されます。ただし、が呼び出されるたびに、TimeStepThreadその車の位置の値を取得したいと考えています。たとえば、500 ミリ秒ごとに更新される車が 1 台ありますが、2 秒ごとにその車の位置にラベルを設定したいと考えています。
私のクラスは次のように設定されています:
SimulationクラスにはTimeStepThreadとCarThread。
私のSimulation(またはフレームではなく)では、車の位置の値をタイムステップ間隔ごとに更新したいと考えています。したがって、2000 ミリ秒ごとに、Simulation クラスで何かを更新する/何かを返す必要があります。
これを行う方法がわかりません。私のスレッドは の中にあるので、 からメソッドをSimulation実際に呼び出すことはできません 。言うまでもなく、少し面倒です。リスナー、おそらく?Simulationrun()
編集:タイムステップスレッドですでに車にアクセスできます。これは問題ではありません。車を保持するコンテナ クラスを使用しています。両方のスレッドがアクセスでき、CarThread更新も可能です。私の問題は、TimeStepThread が呼び出されるたびに更新された文字列を持つ Simulation クラス、または TimeStepThread が呼び出されるたびに更新されるフレーム ラベルに関するものです。