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