Я разрабатываю приложение с использованием C #, которое должно синхронизировать файлы с компьютера пользователя с областью удаленного хранения.
Я думаю, что приложение должно иметь следующие ключевые модули:
- Механизм обработки
- Пул потоков
- Диспетчер очереди
- Просмотр файловой системы
Как только в папке обнаружен новый файл, ФайлSystem Watch должна иметь возможность помещать рабочий элемент в Queue Manager.Диспетчер очереди должен быть в состоянии сохранить элемент на каком-либо постоянном носителе, так что даже если не обрабатывается обработчик, мы ничего не пропустим.
Теперь, как только что-то помещается в очередь, выполняется обработкаДвигатель должен получить уведомление.Он должен использовать пул потоков, чтобы начать текущую работу.Администратор очередей должен иметь возможность устанавливать статус рабочего элемента как «в процессе обработки» или «выполнено».
Пользователь должен иметь возможность установить, сколько одновременных потоков должно использоваться для обработки.
Теперь мне нужна помощь в определении правильных API ... или некоторых компонентов с открытым исходным кодом.
Для пула потоков я думаю об использовании Smart Thread Pool (http://www.codeproject.com/KB/threads/smartthreadpool.aspx).
Для отдыха мне нужна помощь.
Кроме того, любые рекомендации по улучшению стиля приложения приветствуются.
Cheers;