c# - 如何获取线程执行完成事件

标签 c# multithreading

我正在创建一个新线程来调用其中的一个函数。

Thread th = new Thread(My_Function);
th.start();

我想在此线程执行完成后做一些事情。

有什么办法吗?

最佳答案

至少有两种可能的解决方案:

后台 worker

使用 BackgroundWorker执行您的代码,并使用 RunWorkerCompleted事件以执行完成后运行的代码。

BackgroundWorker 将基于事件的异步模式包装到一个非常易于使用的机制中,完成进度报告和取消。看这个BackgroundWorker tutorialthis所以回答。

任务(.NET 4.0 及更高版本)

使用 Task对象,并使用 ContinueWith方法定义第一个任务完成后需要执行的代码。

关于c# - 如何获取线程执行完成事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14119810/

相关文章:

java - 如何停止所有 Activity 线程的运行

android - 如果另一个相同的线程启动,如何停止一个线程

java - 串行线程限制

c# - 我将如何使用反射来调用具有特定自定义属性的所有方法?

c# - 构建 : error MSB4062 Microsoft. Build.Tasks.ResolveComReference 时出现 .NET Core 错误

c# - Excel 日期列未正确读取

ios - MagicalRecord 不能在后台线程中工作吗?

c# - 防止或禁止使用Parallel.ForEach

c# - 找不到类型或命名空间名称 'System' 和 'Xamarin'

c++ - 无法处理信号,导致系统调用中断