基于多线程队列的文件syn应用程序所需的设计建议
本文关键字:syn 多线程 队列 文件 应用程序 | 更新日期: 2023-09-27 18:04:16
我正在使用c#开发一个应用程序,它应该从用户的计算机与远程存储区域同步文件。
我认为应用程序应该有以下关键模块:
- 处理引擎 线程池队列管理器
- 文件系统监视
一旦在文件夹中检测到新文件,文件系统监视应该能够在队列管理器中放置一个工作项。队列管理器应该能够将项目持久化到某种永久存储介质中,这样即使处理引擎没有运行,我们也不会错过任何东西。
现在,只要有东西放在Queue中,Processing Engine就应该得到通知。它应该使用线程池来启动实际的作业。队列管理器应该能够将工作项的状态设置为"正在处理中"或"已完成"。
用户应该能够设置同时使用多少线程进行处理。
现在,我需要帮助识别正确的API…或者一些开源组件。
对于线程池,我正在考虑使用智能线程池(http://www.codeproject.com/KB/threads/smartthreadpool.aspx)。
为了休息,我需要帮助。
另外,任何改进应用程序风格的建议都将受到欢迎。
欢呼;
我认为你可以节省一些时间使用这个http://msdn.microsoft.com/en-us/sync/bb887623
更多细节:
http://msdn.microsoft.com/en-us/library/bb902860.aspx
你可以使用框架和实现/插件自定义提供商来解释这一点…见http://msdn.microsoft.com/en-us/library/ee617372.aspx