public void StartAfter(int delay)
{
using (_lock.WriterLock)
{
if (_queue.Find(v => v == this) != null)
throw new AegisException(AegisResult.TimerIsRunning);
_lastCallTime = _stopwatch.ElapsedMilliseconds + delay;
_queue.Add(this);
// 동작중인 쓰레드가 없으면 생성
if (_timerThread == null)
{
_timerThread = new Thread(TimerThreadRunner);
_timerThread.Start();
}
}
}