私はあるフォルダから別のフォルダにファイルを移動するプログラムに取り組んでいます。 私は約1000のファイルがあり、各ファイルは一定の時間に移動する必要があります。私は今、私が仕事をするだけで一つのスレッドを持って見ることができるようにファイルディスパッチャーにはタイマーが最適ですか?
Timer timer = new Timer();
for (int k = 0; k < fileList.size(); k++) {
FileObj fileObj = fileList.get(k);
Calendar date = Calendar.getInstance();
date.add(Calendar.SECOND, fileObj.getTimeToLaunch());
CopyTask copyTask = new CopyTask();
copyTask.setTaskName("fileName");
timer.schedule(
copyTask,
date.getTime(),
1000 * 60 * 60 * 24 * 7
);
}
: は今、私は次のようにタイマーを使用しています。 問題は、各ファイルを正確な時間に移動しなければならないということです。そのため、前のファイルを移動する時間が長い場合は、後のファイルを後で移動します。 ファイルごとに1つのタイマーを作成することを考えていますが、ホストが非常に多くのスレッドをサポートするかどうかはわかりません。
私は何が最善の選択でしょうか? または別の解決策ですか?中間的な解決策かもしれない?
スレッドが複数あるうちに、ドライブが1つしかないと思われます。 CPUはあなたのボトルネックではなく、あなたのドライブはです。 ;) –