public void Wakeup()
{
TaskRunner taskRunner = this.taskRunner;
lock(messageQueue.SyncRoot)
{
if(this.taskRunner == null)
{
this.taskRunner = new DedicatedTaskRunner(this);
}
taskRunner = this.taskRunner;
}
taskRunner.Wakeup();
}