У меня есть служба Windows.NET 3.5. Я тестирую небольшое приложение, которое просто спит в потоках после их запуска, для случайных временных интервалов от 300 до 6500 мс. У меня есть различные вопросы по этой проблеме.
- Является ли
BackgroundWorker
действительно предназначенным для использования только в приложениях WinForms или это просто вздор, как именно он настроен на этот эффект? - Я читал о
ThreadPool
в этом вопросе и этот. Я не совсем уверен, насколько это проблема для меня, что потоки будут длиться где-то между полсекунды и несколькими секундами. Является ли эта причина достаточной для просмотра в другом месте? - Мне лучше всего просто создавать фоновые темы?
Служба реального времени будет опробовать базу данных для списка ожидающих запросов, выполнить потоки для каждого из этих запросов (ограниченные определенным количеством параллельных потоков), и каждый поток будет проверять, существуют ли какие-то данные в базе данных, получить его, если это произойдет, или загрузить его из потокового API, сохранить его и вернуть эти данные. Загрузка будет частью, которая потребляет наибольшее время.
Мне бы очень хотелось, чтобы этот вопрос отвечал за .NET 3.5 Framework, но если есть лучшие или более эффективные способы выполнения этого в .NET 4.0, я хотел бы также прочитать о них. Ссылки с дополнительной информацией также очень приветствуются.