【发布时间】:2013-10-30 17:42:53
【问题描述】:
我正在使用
System.Threading.ThreadPool.QueueUserWorkItem(x => MyMethod(param1, param2, param3, param4, param5));
我想在每次调用 MyMethod 完成时从主线程调用以下方法:
UpdateGui()
{
}
我该怎么做?
谢谢!
【问题讨论】:
-
从
MyMethod中调用Control.Invoke以将委托的执行编组到UI 线程上。 -
为什么不使用
Task并为此继续? -
@BrianRasmussen:是的,甚至更好!
-
@BrianRasmussen,UpdateGui 存在我不理解的死锁问题,所以我想在主线程上运行它。使用 ContinueWith 会触发一个新任务,并且死锁问题仍然存在。我想要的只是在旋转线程方法返回后在主线程上调用一个方法。
-
@user277498:您可以指定在启动任务/继续时要使用的同步上下文。
标签: c# multithreading threadpool