private Thread _loggerThread;
private readonly object _lockLoggerThread = new object();
private void StartLogging()
{
StopLogging();
var thread = new Thread(() =>
{
try
{
var end = DateTime.Now.AddHours(8);
while (DateTime.Now < end)
{
Thread.Sleep(5000);
}
}
catch (ThreadInterruptedException)
{
}
});
lock (_lockLoggerThread)
{
_loggerThread = thread;
_loggerThread.Start();
}
}
private void StopLogging()
{
lock (_lockLoggerThread)
{
if (_loggerThread != null && _loggerThread.IsAlive)
{
_loggerThread.Interrupt();
}
_loggerThread = null;
}
}