protected override void OnStart(String[] args)
{
ResultManager.PrepareCache();
ThreadPool.QueueUserWorkItem(ResultQueue.Process);
ThreadPool.QueueUserWorkItem(StatusUpdater.UpdateStatus);
ThreadPool.QueueUserWorkItem(GeneralQueue.RestartHungTests);
ThreadPool.QueueUserWorkItem(ResultManager.SyncroniseResultsTable);
ThreadPool.QueueUserWorkItem(GeneralQueue.RecoverLostResults);
ThreadPool.QueueUserWorkItem(BrowserTestStartInfo.FillQueues);
ThreadPool.QueueUserWorkItem(MailAppAccount.FillQueues);
}
Каждая из этих задач выполняется в течение всего срока службы Службы Windows. Я всегда придерживался ThreadPool для такого рода вещей, я должен просто запускать нормальные потоки? Могу ли я быть уверен, что в ThreadPool будет достаточно потоков для выполнения каждой задачи? Если я установлю значение 7 для MaxMreadThreads, возникнут ли у меня проблемы позже, поскольку эти потоки никогда не прерываются? Безопасно ли устанавливать его на что-то гораздо более высокое?
Edit:
Я всегда хочу, чтобы все 7 потоков работали одновременно, и они никогда не прерывались - я должен даже использовать потоки? Есть ли что-то еще более подходящее для такого рода постоянно выполняемых задач?
Каждое задание запускается определенным методом каждые x минут.