文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c#利用EventHandler注册操作

c#利用EventHandler注册操作

时间:2010-12-15  来源:leon032

主线程在调用一个异步的操作时,需要这个异步操作进入某个特定状态,主线程才可以继续往下执行。

(此时,并不是指这个异步操作执行完毕,因为再异步操作时会调用回调函数,不停给主线程返回数据。我不是我想说的重点,就不罗嗦了... ... )

此时,可用如下操作:

            ManualResetEvent operationCompletionEvent = new ManualResetEvent(false);
                EventHandler<OperationStateEventArgs> OnOperationStateChange = new EventHandler<OperationStateEventArgs>(delegate(object obj, OperationStateEventArgs args)
                {
                    if (args.OperationStateInfo.State == OperationState.Stopped)
                        operationCompletionEvent.Set();
                });
                operation.StateChanged += OnOperationStateChange;

然后,调用该异步操作后,加一句 operationCompletionEvent.WaitOne();

"ManualResetEvent"是多线程时常用的事件操作。

 

PS:这是小弟的第一篇博客,时间关系也没有好好整理,希望可以坚持下去。。。。。。

相关阅读 更多 +
排行榜 更多 +
合并弓箭手无限金币版

合并弓箭手无限金币版

策略塔防 下载
合并弓箭手免广告

合并弓箭手免广告

策略塔防 下载
合并弓箭手内置菜单

合并弓箭手内置菜单

策略塔防 下载