--主线程中
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);