2

我正在 Windows 窗体应用程序中创建一个后台线程来执行一些在处理大量数据时需要时间的过程。但是,我仍然希望其他一些方法或进程等到该线程完成其工作。

为了创建一个后台线程,我使用了下面的内联代码。

Task.Factory.StartNew(() => GenerateXml2Resx(account, features, codes, outputDir));

因此,一旦完成了从 xml 数据生成所有 *.resx 文件的过程,我希望我的应用程序继续进行。

谢谢。

4

3 回答 3

3

您需要在回调中调用其他方法,该Task.ContinueWith()回调仅在第一个任务完成后运行。

如果您希望它在 UI 线程中运行,请通过TaskScheduler.FromCurrentSynchronizationContext().

于 2012-10-11T13:26:43.817 回答
1

使用 Thread.Join: http: //msdn.microsoft.com/en-us/library/95hbf2ta (v=vs.80).aspx

于 2012-10-11T13:33:35.650 回答
0

我认为 Task.Wait 可以解决问题http://msdn.microsoft.com/en-us/library/dd537610.aspx

于 2012-10-11T13:29:23.403 回答