Пример #1
0
 public IAsyncResult BeginInvoke(Action action, AsyncCallback userCallback, object stateObject)
 {
     var asyncInfo = new AsyncInvocationInfo(this, action, userCallback, stateObject);
     lock (syncLastEvent)
     {
         asyncInfo.PrevWaitHandle = lastEvent;
         lastEvent = asyncInfo.AsyncWaitHandle;
     }
     ThreadPool.QueueUserWorkItem(InvokeAsync, asyncInfo);
     return asyncInfo;
 }
Пример #2
0
        public IAsyncResult BeginInvoke(Action action, AsyncCallback userCallback, object stateObject)
        {
            var asyncInfo = new AsyncInvocationInfo(this, action, userCallback, stateObject);

            lock (syncLastEvent)
            {
                asyncInfo.PrevWaitHandle = lastEvent;
                lastEvent = asyncInfo.AsyncWaitHandle;
            }
            ThreadPool.QueueUserWorkItem(InvokeAsync, asyncInfo);
            return(asyncInfo);
        }