0

JDBC SQL の結果を更新するために 2 つのスレッドを生成するメイン関数があります。子スレッドのみが機能し、無限ループに陥り、5 分後に結果を更新します。メインスレッドを終了する前に、子スレッドを強制終了する必要があります。

そのための最良の手順は何ですか?

4

1 に答える 1

1

だから私はあなたのコードが次のようになっていると仮定します:

class ThreadTask implements Runnable {
    public void run() {
        while(true) {
            ...
        }
    }
}

あなたができることは、フラグを実装することです:

class ThreadTask implements Runnable {

    private volatile boolean shouldStop = false;

    public void run() {
        while(!shouldStop) {
            ...
        }
    }

    public void stopTask() {
        shouldStop = true;
    }
}

次にメインスレッドで:

ThreadTask task = new ThreadTask(); 
Thread t = new Thread(task);
t.start();
...
task.stopTask();
t.join();
于 2012-10-19T10:38:55.183 に答える