C#中Start和Run

本文探讨了C#中Task委托的执行时机,通过代码示例展示了Start与Run方法的不同。在不使用Wait方法时,Run创建的任务并未执行,而Start会使得任务进入等待运行状态。当在Start后加入Wait,任务将得以执行。Task.Run虽然也会启动任务,但其状态同样是等待运行。
摘要由CSDN通过智能技术生成

Task委托的方法是在什么时候执行呢?是在Run的时候还是在Start的时候呢?直接上代码

        public static void Main()
        {
            FuncOne();
        }

        private static void FuncOne()
        {
            Console.WriteLine("当前线程:" + Thread.CurrentThread.GetHashCode());
            Action action = new Action(Run);
            Task task = new Task(action);
            Console.WriteLine("当前状态:" + task.Status);
            task.Start();
            Console.WriteLine("当前状态:" + task.Status);
        }

        private static void Run()
        {
            Console.WriteLine("当前线程:" + Thread.CurrentThread.GetHashCode());
        }

然后输出结果:

 发现Run方法居然没有被执行,start方法后面这个的task的状态是WaitingToRun等待被执行,还没有执行呢主程序就结束了,所以需要

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值