C# 如何获取线程执行完成事件
我正在创建一个新线程来调用其中的函数C# 如何获取线程执行完成事件,c#,multithreading,C#,Multithreading,我正在创建一个新线程来调用其中的函数 Thread th = new Thread(My_Function); th.start(); 我想在线程执行完成后做点什么 有什么方法可以做到这一点吗?你可以用这样的东西 if(th.isAlive()) {...} 至少有两种可能的解决方案: 后台工作人员 使用执行代码,并使用事件执行完成后运行的代码 BackgroundWorker将基于事件的异步模式包装到一个非常易于使用的机制中,并完成进度报告和取消。看看这个答案 任务(.NET 4.0及以上
Thread th = new Thread(My_Function);
th.start();
我想在线程执行完成后做点什么
有什么方法可以做到这一点吗?你可以用这样的东西
if(th.isAlive())
{...}
至少有两种可能的解决方案: 后台工作人员 使用执行代码,并使用事件执行完成后运行的代码
BackgroundWorker
将基于事件的异步模式包装到一个非常易于使用的机制中,并完成进度报告和取消。看看这个答案
任务(.NET 4.0及以上版本)
使用对象,并使用该方法定义第一个任务完成后需要执行的代码。任务链接非常好。我最终得到了类似Task.Run(()=>MessageBox.Show(“步骤0”))的东西。Wait();Task.Run(()=>MessageBox.Show(“步骤2”)).Wait();这非常有效。