1

嗨,我正在开发 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);
4

1 回答 1

2

您可以将 TPL 与 ContinueWith 语句一起使用,如下所示:

Task x = Task.Factory.StartNew(() =>
         {
           DoSomething();
         }
     ).ContinueWith((task) =>
         {
           DoSomething();
         });
于 2013-09-17T18:12:05.733 回答