4

次のスレッドがあります。


public void start() {
        isRunning = true;

        if (mainThread == null) {
            mainThread = new Thread(this);
            mainThread.setPriority(Thread.MAX_PRIORITY);
        }

        if (!mainThread.isAlive()) {
            try {
                mainThread.start();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

ある時点で、その操作を停止したい:


public void stop() {
        isRunning = false;
        System.gc();
}

再度呼び出すstart()と、次の例外がスローされます。

java.lang.IllegalThreadStateException

mainThread.start()コード行を指しています。

スレッドを開始/停止する最良の方法は何ですか? このスレッドを再利用可能にするにはどうすればよいですか?

ありがとう!

4

2 に答える 2