DTLib/TImer.cs
2021-09-13 22:42:25 +03:00

38 lines
944 B
C#

using System;
using System.Threading;
namespace DTLib
{
//
// простой и понятный класс для выполнения каких-либо действий в отдельном потоке раз в некоторое время
//
public class Timer
{
Thread TimerThread;
bool Repeat;
// таймер сразу запускается
public Timer(bool repeat, int delay, Action method)
{
Repeat = repeat;
TimerThread = new Thread(() =>
{
do
{
Thread.Sleep(delay);
method();
} while (Repeat);
});
}
public void Start() => TimerThread.Start();
// завершение потока
public void Stop()
{
Repeat = false;
TimerThread.Abort();
}
}
}