我有一个WPF应用程序,我希望它可以在启动时分离两个数据研究后台任务。这些后台任务将打开、解析和关闭文件,然后更新SqlServer数据库中的数据。这些任务都不需要向显示线程返回任何内容。这些后台任务不必运行到完成,但我需要避免让文件处于打开状态或Sql Server处于意外状态。用户可以在任务开始之后的任何时间关闭应用程序。我正在使用来自System.Threading.Tasks命名空间的资源。举个例子:
var IncorporateTask = Task.Factory.StartNew(CommentIncorporateTask);
var incorporateTaskDone
案例1:我有一个控制台测试应用程序和库。测试应用程序在那些打算并行运行的库中的类上调用异步方法。示例代码
for (int i = 0; i < 100; i++)
{
var myTask = RetrieveRecordSet<TestClass3>();
}
这在控制台应用程序中按照预期工作,这意味着所有100个任务同时排队,任务在后台并行执行,控制台输出证明了这一点。
案例2:相同的代码,只是在WPF应用程序中,而不是在控制台应用程序中。现在,由于某些原因,任务按顺序运行。
案例3:我还尝试了对W