2016-08-24 10 views
-1

メソッドを終了し、別のクラスの正確なポイントにそのメソッドを再入力する方法はありますか?例えば出口方法を入力して(同じ点で)? JAVA

: クラス1:

Keypresser.KeyPress(KeyEvent.VK_W); 
wpressed = true 
KeyPresser.KeyRelease(KeyEvent.VK_W); 

クラス2:

while(Class1.wpressed == true){ 
CANCEL CLASS 1 AT CURRENT STANDING 
thread.wait(1); 
RESUMS CLASS 1 AT THAT STANDING 
} 
+0

しかし、あなたはこのようなことをする必要があると感じたら「間違っている」と感じます。 – Madbreaks

答えて

1

いいえ、Javaはプログラマがコード内の任意の点での再入力方法にのための方法を提供しません。他のスレッドを実行させてから同じポイントから再開できるようにするには、スケジューラによってメソッドを先取りすることができますが、Javaプログラマがこれを行うためのメカニズムはありません。

スレッド間で情報をやりとりするための通信メカニズムを構築する必要があります。たとえば、Semaphoreオブジェクトを使用して、停止するタイミングと続けるタイミングをスレッドに通知できます。もちろん、実行中のスレッドは、自分自身を一時停止するように指示した時点でコードを実行している必要があります。

関連する問題