您的位置:首页 > 其它

线程、委托的异步调用

2008-12-15 09:26 218 查看
《C# programming》 p323

BeginInvoke() 会立即返回,它将创建一个另一个线程来完成自己的工作。当我需要它执行后的结果时:

例如:

pubilc delegate in TestDetegate();

pubilc TestDetegate theDetegate;

..............................................

theDetegate += ××××××××××

..............................................

//异步调用、并执行操作内容

//AsyncCallback委托提供了一个回调机制

//ResultsReturned为获取结果的回调方法

theDetegate.BeginInvoke(new AsyncCallback(ResultsReturned),theDetegate);

//获取结果的回调方法

pubilc void ResultsReturned(IAsyncResult iar)

{

//将状态对象转换回委托类型

TestDetegate del = (TestDetegate)iar.AsyncState;

//调用委托的EndInvoke方法获取结果

int result = del.EndInvoke(iar);

.................

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐