/// <summary> /// The send method. /// </summary> /// <param name="d"> /// The d. /// </param> /// <param name="state"> /// The state. /// </param> public override void Send(SendOrPostCallback d, object state) { var item = new SendOrPostCallbackItem(d, state, false); this.blockingQueue.Enqueue(item); item.ExecutionCompletedFlag.WaitOne(); if (item.Exception != null) { throw item.Exception; } }
/// <summary> /// The post method. /// </summary> /// <param name="d"> /// The d. /// </param> /// <param name="state"> /// The state. /// </param> public override void Post(SendOrPostCallback d, object state) { var item = new SendOrPostCallbackItem(d, state, true); this.blockingQueue.Enqueue(item); }