私はこのメソッドをrun()
としています。このメソッドは他の多くのメソッドを実行します。これらのサブメソッドには、いくつかのサブメソッドで1ずつインクリメントするカウンタがあります。このカウンタが所定の数n
に達すると、方法run()
は、未定義の時間の間、一時停止する必要があります。再度呼び出されると、一時停止する前に実行を開始する必要があります。メソッドが再び呼び出されるまでメソッドを一時停止する
これはJavaで可能ですか?
編集:Andersoj
に頼まいくつかのより多くの情報として、私は私のコードをたくさんダウンストリップしようとしました。これは、それがどのように見えるかの非常に基本的な例です。 counter
はn
に等しくなるまで
public void run(int n) {
executeA();
}
public void executeA() {
while (randomCondition) {
executeB();
counter++;
}
executeC();
if (counter <= 100)
executeD();
}
executeA()
でコードが実行される必要があります。スレッドは以前executeA()
で停止した場所、それが実行された場合、それは一時停止しなければならないまで、それは問題ではありません(これはexecuteA()
のどこにでも発生する可能性があります。
をしばらくして、run()
が再び呼び出され、コードが再開する必要があります。
お返事ありがとうございました
これはスレッドの質問のように聞こえますが、これは正しい仮定ですか? –
@GregFlynn、私はスレッドについて考えましたが、 'run()'メソッドが一時停止されても、他のメソッドは引き続き実行できるはずです。 – gieldops
コンテキストスイッチについて説明しているので、スレッディングなしでは可能ではないと思います。 –