4

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

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

我想在这个线程执行完成后做点什么。

有什么办法吗?

4

2 回答 2

12

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

后台工作者

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

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

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

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

于 2013-01-02T09:53:42.390 回答
-2

你可以使用这样的东西

if(th.isAlive())
{...}
于 2013-01-02T09:47:41.960 回答