1

こんにちはEventQueue、以下からアプレットコード処理を実行しています

EventQueue.invokeLater(new Runnable(){
    public void run(){
        plotApplet();
    }
});

plotApplet()アプレットコンポーネントのセットアップの処理からのヒアリングが行われます。Runnableここで、このクラスを実行しているスレッドにアクセスしたいと思います。ユーザーが次のプロセス要求を送信するときにこのスレッドを明示的に停止する必要があるため、これが必要です。非常に時間がかかる可能性があるこの前のスレッドを停止したいので、すぐに新しいスレッドを開始します。

では、によって実行されているスレッドへの参照を取得する方法を教えてくださいEventQueue

4

1 に答える 1

4

この EventQueue を長時間実行タスクに使用することはできません。これを行うと、GUI がロックされ、停止するまで停止できなくなり、あまり役に立ちません。

Future.cancel(true)実行時間の長いタスクがある場合は、独自のスレッドを開始する必要があります。たとえば、停止を要求するために呼び出すことができるタスクを発行できる ExecutorService です。

于 2012-12-28T10:42:03.743 に答える