DTLib/TImer.cs
2021-10-04 23:25:42 +03:00

38 lines
923 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();
}
}
}