上一个线程完成时启动另一个线程

时间:2013-09-17 18:04:37

标签: c# multithreading windows-8 windows-store-apps threadpool

嗨我在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);

1 个答案:

答案 0 :(得分:2)

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

Task x = Task.Factory.StartNew(() =>
         {
           DoSomething();
         }
     ).ContinueWith((task) =>
         {
           DoSomething();
         });