4
我的任务是创建一个自定义的文件备份服务,它允许任何使用此服务的笔记本在连接到我们的网络服务器时备份某些目录。我得到的一个要求是,该服务应基本上优先于用户在该笔记本电脑上的正常活动,并且不会妨碍性能......太多。我用Java创建了这个程序,目的是把它作为YAJSW的一个服务包装起来。我知道我可以将“进程优先级”设置为低,这将允许:Java进程对其他窗口进程产生优先
进程的线程被更高优先级的任何进程的线程抢占。
因此,我一直在想,我会利用每个文件传输线程的思路,这些线程可以做到这一点。目前,我有这样的事情:
public void copyFiles() {
for (ScannedFile file : filesToCopy) {
new Thread() {
@Override
public void run() {
fileCopyUsingStreams(file);
}
}.start();
}
}
但是,我不知道这将实际工作,我想。我也在考虑替代这一点,我可以按顺序运行这些线程,希望能够提高“优先收益率”的机会。我正在寻找你们可以借出的任何想法和改进。谢谢。
这是一个非常好的观点,我忽略了关于线程限制。谢谢。 – JagerSOE