Это сложная ситуация, чтобы объяснить. Имейте сервисный процесс, который запускает 2 потока, каждый поток зацикливается навсегда, но спит по 5 минут каждый после завершения работы.
Проблема в том, что мой второй поток завершается задолго до того, как полезная нагрузка была даже завершена, без видимой причины, и я также не могу поймать исключение, так как оно, похоже, вызывается извне процесса делегата?
Любые предложения о том, как найти проблему?
Код ....
public void StartService()
{
ThreadStart stRecieve = new ThreadStart(DownloadNewMail);
ThreadStart stSend = new ThreadStart(SendNewMail);
senderThread = new Thread(stRecieve);
recieverThread = new Thread(stSend);
sendStarted = true;
recieveStarted = true;
senderThread.Start();
recieverThread.Start();
}
private void DownloadNewMail()
{
while(recieveStarted)
{
//Payload....
if (recieveStarted)
{
Thread.Sleep(new TimeSpan(0, confSettings.PollInterval, 0));
}
}
}
private void SendNewMail()
{
while(sendStarted)
{
//Payload....
if (sendStarted)
{
Thread.Sleep(new TimeSpan(0, confSettings.PollInterval, 0));
}
}
}