public override void Send(SendOrPostCallback d, object state)
 {
     SendOrPostCallBackItem item = new SendOrPostCallBackItem(d, state, ExecutionType.Send);
     mQueue.Enqueue(item);
     item.ExecutionCompleteWaitHandle.WaitOne();
     if (item.ExecutedWithException)
         throw item.Exception;
 }
 public override void Post(SendOrPostCallback d, object state)
 {
     SendOrPostCallBackItem item = new SendOrPostCallBackItem(d, state, ExecutionType.Post);
     mQueue.Enqueue(item);
 }