0

クラスがあります:

public class M16
 {
  public boolean on = true;
  void shoot ()
  {
    System.out.println("Bang");
  }
  void pullTrigger()
  {
    while(on) shoot();
  }
 }

そして、pullTrigger() メソッドを呼び出した後、フラグをオンに設定したいと思います。このような:

    M16 m = new M16();
    m.pullTrigger();
    Thread.sleep(2000);
    m.on = false; 

簡単な質問ですが、何をすればいいのかわかりません。

4

1 に答える 1

1

あなたは実際にwhileは同じから中断することはできませんThread。永久Thread.sleep(2000)に実行されるため、実行されることはありません。m.pullTrigger()あなたのシナリオは、マルチスレッド設定で発生する可能性が高くなります。この分野をカバーする SO トピックは数多くあります。たとえば、これです。

于 2013-11-02T22:16:35.413 に答える