以极低的资源要求强制复制文件
Force file copy with very lower resources requirements
我有一个用 C++ 编写的程序,可以将文件永久写入硬盘。使用的硬盘速度足够快,可以在不降低应用程序速度的情况下处理这个问题。
现在我不时喜欢这个程序 copy/sync 将文件传送到我们的服务器。我面临的挑战是我不希望副本使用很多系统资源,因此它不会减慢应用程序或新文件的写入速度。
我想 运行 后台线程上的 copy/sync 会有所帮助,但它仍然会给硬盘带来压力并减慢写入新文件的速度,对吗?
所以我想我的问题是如何控制复制操作的速度?或者还有其他更好的方法吗?
非常感谢任何帮助。
丹尼斯
重读此文 - "Now from time to time i like the program to copy/sync the files to our server. The challenge im facing is that i don't want the copy to use many system resources so it's not slowing the application or the writing of new files."
这意味着你实际上并不是在试图避免努力工作;您只是不想落后于其他文件工作。
我会创建一个后台线程来执行所有磁盘访问;并提供 2 个队列供其处理。第一个是要写入的新文件;第二个是要复制的文件。然后,该线程可以通过一次处理块来全速使用磁盘;优先从新文件区域获取块。这将允许您开始复制;然后在有大量文件要处理时完全停止复制(以防突然出现),然后在处理完所有文件后尽可能快地复制。
我有一个用 C++ 编写的程序,可以将文件永久写入硬盘。使用的硬盘速度足够快,可以在不降低应用程序速度的情况下处理这个问题。
现在我不时喜欢这个程序 copy/sync 将文件传送到我们的服务器。我面临的挑战是我不希望副本使用很多系统资源,因此它不会减慢应用程序或新文件的写入速度。
我想 运行 后台线程上的 copy/sync 会有所帮助,但它仍然会给硬盘带来压力并减慢写入新文件的速度,对吗?
所以我想我的问题是如何控制复制操作的速度?或者还有其他更好的方法吗?
非常感谢任何帮助。
丹尼斯
重读此文 - "Now from time to time i like the program to copy/sync the files to our server. The challenge im facing is that i don't want the copy to use many system resources so it's not slowing the application or the writing of new files."
这意味着你实际上并不是在试图避免努力工作;您只是不想落后于其他文件工作。
我会创建一个后台线程来执行所有磁盘访问;并提供 2 个队列供其处理。第一个是要写入的新文件;第二个是要复制的文件。然后,该线程可以通过一次处理块来全速使用磁盘;优先从新文件区域获取块。这将允许您开始复制;然后在有大量文件要处理时完全停止复制(以防突然出现),然后在处理完所有文件后尽可能快地复制。