Metro 风格应用程序中的任务

Task in metro style application

我有一个关于 Task in metro style applications (winrt) 的问题。

Thread 不可用(至少从 windows 8.1/windows phone 8.1 开始),因此要执行异步操作,我们现在必须使用 Task。

感谢您的帮助。

When I create Task and call Run does it create new Thread? If so is there a way to kill/stop that Thread?

它不会创建新线程,它会使用线程池中的一个线程。这是假设您没有通过任何其他 TaskScheduler.

If so is there a way to kill/stop that Thread?

有一种方法可以通过 CancellationTokenCancellationTokenSource 结构进行协作取消。无法中止 Task,例如 Thread.AbortTask != Thread.

so when I call Application.Current.Exit() does it stops all Tasks

Threadpool 线程默认是后台线程,它们不会像前台线程那样延长应用程序的生命周期。您可以安全地假设一旦应用程序关闭,所有线程都将终止。