public void Start()
{
lock (this)
{
//Check if the last queue has processed, if not, then quit.
if (m_time.HasValue)
return;
m_time = ShortTime.Now;
if (m_delay == 0)
{
m_task.Start();
}
else
{
m_task.Start(m_delay);
}
}
}