--主线程中
Stats=false;
AsyncOutPutHandler handler = new AsyncOutPutHandler(ExcelW.ConvertDataTableToRecordset);
AsyncCallback callback = new AsyncCallback(ExcelW.Convert_Completed);
--异步线程调用
handler.BeginInvoke(DT, callback, null);
--主线程其他代码
......
--等待异步线程 Stats 为全局
while (!Stats)
{
}
-----------------------------------------------------------------------------------------------
异步调用了方法 ConvertDataTableToRecordset
此方法调用完后直接回调方法 ExcelW.Convert_Completed 将全局Stats设为TRUE
定义全局委托
private delegate void AsyncOutPutHandler(System.Data.DataTable dt);
本文介绍了一种在主线程中发起异步任务处理的方法,并详细解释了如何通过自定义委托和回调来实现任务状态的同步更新。具体展示了如何定义AsyncOutPutHandler委托,使用BeginInvoke方法启动异步操作,以及如何在完成时通过指定的AsyncCallback更新全局变量Stats。

被折叠的 条评论
为什么被折叠?



