当前位置:  开发笔记 > 编程语言 > 正文

任务执行在哪里?

如何解决《任务执行在哪里?》经验,为你挑选了1个好方法。



1> Sriram Sakth..:

Task使用其中一个构造函数创建一个新程序可以为您提供"冷任务".这意味着任务尚未启动.由于您从未启动过任务,因此您看不到预期的输出.

你需要打电话Task.Start来启动它.要返回"热任务"(已启动任务),您需要使用Task.Factory.StartNewTask.Run.

以下应该工作:

public static Task SayHelloTask()
{
    Thread.Sleep(2000);
    Console.WriteLine("SayHelloTaskCalled");
    return  Task.Run(() => {
        Console.WriteLine("Task Executing");
        return "SayHelloAfterSleepTask";
       });
}

如果您更喜欢将Task作为"Cold Task"本身,那么请修改您的调用代码,如下所示.

static void Main(string[] args)
{
    var task2 = SayHelloTask();
    task2.Start();//<--Start a "Cold task"
    var result = task2.Result;
    Console.WriteLine(result);
}

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有