System.Threading.Timer not continuous

У меня проблемы с созданием непрерывного таймера. На таймерах создаются многополюсные потоки, расположенные в шахматном порядке, которые будут работать в течение некоторого времени, а затем полностью остановятся. Максимальное количество потоков, которые я разрешаю, равно 5, а интервал таймера установлен на 10000. Таким образом, теоретически будет выполняться 1 поток каждые 2 секунды.

Это происходит какое-то время, но потом это останавливается. в настоящее время я тестирую консольное приложение и пишу ответы на него.

Я не совсем уверен, что здесь происходит

internal class EngineThreadGenerator
{
    private readonly AutoResetEvent _autoEvent;
    private readonly Action<string, string> _processQueueDelegate;
    private readonly Action<string, string> _purgeQueueDelegate;

    private void createAllowedEmailThreads()
    {
        for (int counter = 0; counter < AppSettings.ProcessQueueAllowedThreads; counter++)
        {
            EmailThread _emailThread = new EmailThread(_collection, _processQueueDelegate, _purgeQueueDelegate);
            TimerCallback _timerCallback = _emailThread.InitEmailThread;
            Timer _stateTimer = new Timer(_timerCallback, _autoEvent, 0, AppSettings.ProcessIntervalInMilliseconds);

            pauseLoop();
        }
    }

Любая помощь здесь приветствуется! Ура!

9
задан dplante 7 March 2013 в 15:15
поделиться