私はRunnable
を実装するClass
を持っています。スレッドでこのクラスを使用していて、一時停止しようとしていて、何らかの種類のboolean
フラグを使用して再開します。これは私のコードです:Runnableクラスを使用
class pushFiles implements Runnable{
private volatile boolean running = true;
public void run() {
.
. some code
.
while (running){
.
. more code
.
}
}
public void stop() {
running = false;
}
public void start() {
running = true;
}
};
私はstop
メソッドを使用してスレッドを一時停止してstart
方法を使用して、それを再起動しようとしています。
stop
メソッドは実際にはスレッドを停止/一時停止しますが、start
メソッドでは再び実行されません。私が使用するスレッド初期化するとき
:
runnable = new pushFiles();
thread = new Thread(runnable);
thread.start();
を私が間違って何をしているのですか?スレッドをポーズ解除することは可能ですか? どうすればいいですか?
を使用して、あなたの' while'ループは 'Thread'がit'sの実行が終了した終了します。 Sidenode:Javaの命名規則に従い、クラス名を大文字で開始してください。 – SomeJavaGuy
だから私は同じクラスのための新しいスレッドを作成する必要がありますか? –
@DanyLavrov他の類似の質問に[この回答](http://stackoverflow.com/a/37565875/889583)を参照してください。私はちょうどそれを掲示し、ここにあなたのコードに基づいています。 – megaflop