嗨我在Windows商店应用程序上工作,我有一个页面,我需要在前一个线程完成工作时启动线程。有什么解决方案吗?我发现很棒的选择,但它们适用于NET。现在我使用ThreadPoolTimer并且每个线程都在不同的时间开始,但这不是一个好的解决方案,我认为必须有更好的解决方案。
TimeSpan delay = TimeSpan.FromMinutes(3);
ThreadPoolTimer DelayTimer = ThreadPoolTimer.CreateTimer(
(source) =>
{
//
// TODO: Work
//
//
// Update the UI thread by using the UI core dispatcher.
//
Dispatcher.RunAsync(
CoreDispatcherPriority.High,
() =>
{
//
// UI components can be accessed within this scope.
//
});
}, delay);
答案 0 :(得分:2)
您可以将TPL与ContinueWith语句一起使用,如下所示:
Task x = Task.Factory.StartNew(() =>
{
DoSomething();
}
).ContinueWith((task) =>
{
DoSomething();
});