0
私は現在、ProgressBarを表示できるようにSwingWorkerの内部でThreadPoolExecutorを使用しています。ThreadPoolを実行中に追加する
「Tasks」がThreadPoolに追加され、ThreadPoolExecutorを実行してその進行状況を監視するSwingworkerを開始します。
私の「タスク」は、実行する必要がある他の「タスク」を生成することができます。私は、新しいタスクをThreadPoolに提出し、進捗状況を追跡する方法について、私の心を包み込んでいます。
提案がありますか?
プールを監視し、進行状況バーを更新するスレッドを1つ作成しないでください。他のタスクは引き続きThreadPoolに提出して正常に実行できますか? –
@MinhKieu質問は細部には少し薄いですが、OPが各タスクを進捗単位にしたいと言っているように聞こえますが、必要な作業の数は事前に分かりません。コードが単に新しいタスクを発見するたびに 'progressBar.setMaximum(n)'をバンプすると、プログレスバーが後退する可能性があります。逆方向に進むと、ユーザーはプロセス全体にどれくらいの時間がかかるかを推測することができなくなり、プログレスバーを表示する目的に反することになります。 –
それは正しいです。アカウントを作成する最も良い方法は何ですか?私はネットワークデバイスのスナップショットをとっています。ネットワークデバイスには、スナップショットを取る必要がある「仮想デバイス」が含まれている場合があります。スナップショットが取られるかどうか、またスナップショットがいくつあるかを事前に知ることはできません。 –