我正在创建一个新线程来调用其中的一个函数。
Thread th = new Thread(My_Function);
th.start();
我想在这个线程执行完成后做点什么。
有什么办法吗?
我正在创建一个新线程来调用其中的一个函数。
Thread th = new Thread(My_Function);
th.start();
我想在这个线程执行完成后做点什么。
有什么办法吗?
至少有两种可能的解决方案:
后台工作者
使用 aBackgroundWorker
执行您的代码,并使用RunWorkerCompleted
事件执行完成后运行的代码。
ABackgroundWorker
将基于事件的异步模式包装成一个非常易于使用的机制,包括进度报告和取消。请参阅此BackgroundWorker 教程和此SO 答案。
任务(.NET 4.0 及更高版本)
使用一个Task
对象,并使用ContinueWith
方法定义完成第一个任务后需要执行的代码。
你可以使用这样的东西
if(th.isAlive())
{...}