两线程异步执行,中间等待另一线程执行完再执行

来源:互联网 发布:twilight软件 编辑:程序博客网 时间:2024/04/30 12:40

--主线程中

 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);

 

原创粉丝点击