/// <summary> Queues call to constructor supplied /// delegate with user supplied object. This method /// blocks if maximum queue size is reached. </summary> public void QueueUserWorkItem(IThreadStart command) { Monitor.Enter(this.monitor); while (this.queuedItems == this.maxQueuedItems) { Monitor.Wait(this.monitor); } commands.Enqueue(command); this.queuedItems++; Monitor.Pulse(this.monitor); Monitor.Exit(this.monitor); }
public Thread(IThreadStart iThreadStart) { this.iThreadStart = iThreadStart; }
public void AddTask(IThreadStart runnable, DateTime?runTime = null) { AddTask(runnable.Run, runTime); }