基于多线程队列的文件syn应用程序所需的设计建议

本文关键字:syn 多线程 队列 文件 应用程序 | 更新日期: 2023-09-27 18:04:16

我正在使用c#开发一个应用程序,它应该从用户的计算机与远程存储区域同步文件。

我认为应用程序应该有以下关键模块:

  • 处理引擎
  • 线程池
  • 队列管理器
  • 文件系统监视

一旦在文件夹中检测到新文件,文件系统监视应该能够在队列管理器中放置一个工作项。队列管理器应该能够将项目持久化到某种永久存储介质中,这样即使处理引擎没有运行,我们也不会错过任何东西。

现在,只要有东西放在Queue中,Processing Engine就应该得到通知。它应该使用线程池来启动实际的作业。队列管理器应该能够将工作项的状态设置为"正在处理中"或"已完成"。

用户应该能够设置同时使用多少线程进行处理。

现在,我需要帮助识别正确的API…或者一些开源组件。

对于线程池,我正在考虑使用智能线程池(http://www.codeproject.com/KB/threads/smartthreadpool.aspx)。

为了休息,我需要帮助。

另外,任何改进应用程序风格的建议都将受到欢迎。

欢呼;

基于多线程队列的文件syn应用程序所需的设计建议

我认为你可以节省一些时间使用这个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