それ自体が複数のワーカー スレッドをスピンオフする SwingWorker スレッドを持つアプリケーションを構築しています。これらの子スレッドが作業を行っている間、私が達成したいことは、親スレッドが中断されたときに、すべての子スレッドも停止することです (つまり、それらも中断されるようにするため)。これを達成する 1 つの方法は、グローバル変数を使用し、子スレッドに独自のコード内でこの値をチェックさせることです。しかし、私はこれが正しいアプローチであるかどうか疑問に思っていました。コメント/提案をいただければ幸いです。
私が基本的に持っているのは、JButton を備えたシンプルな UI です (最初は、このテキストは「開始」に設定されています)。ボタンをクリックすると、テキストが「停止」に変わり、親の SwingWorker スレッドが開始されます。このスレッドには、ディレクトリの場所がパラメーターとして送信されます。次に、このスレッドが行うことは、特定の操作を実行するために、そのフォルダーで見つけた各ファイルのスレッドを生成することです。ただし、私が達成したいのは、JButton がクリックされるとすぐに、親スレッドがフォルダーのスキャンを停止し、子スレッドがファイルのスキャンを停止することです。
この操作のために、親スレッドと子スレッドの間で提案されるメッセージ パッシング方法が何であるかを知りたかっただけです。グローバル変数?コメント/提案は私にとって非常に役に立ちます。ありがとう!