如何获得线程执行完成事件

Raj*_*mar 4 c# multithreading

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

Thread th = new Thread(My_Function);
th.start();
Run Code Online (Sandbox Code Playgroud)

我想在完成这个线程执行时做点什么.

有没有办法做到这一点?

Rot*_*tem 11

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

的BackgroundWorker

使用a BackgroundWorker执行代码,并使用该RunWorkerCompleted事件执行完成后运行的代码.

A BackgroundWorker将基于事件的异步模式包装成一个非常易于使用的机制,完成进度报告和取消.请参阅此BackgroundWorker教程 SO答案.

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

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