中午不睡会死x 2023-03-27 10:58 采纳率: 25%
浏览 52
已结题

C#Task类中的Console.WriteLine()和Debug.WriteLine()打印失效

C#的Console.WriteLine()和Debug.WriteLine()无效

在学习多线程时将下面链接中的示例沾到本地运行,发现打印不出东西

img

这是本地的代码:

using System;
using System.Diagnostics;

/*
 * ContinueWith可以传入TaskContinuationOptions枚举类参数来影响线程的运行方式。
 */
namespace TaskContinuationOptionsApplication
{
    public class TaskContinuationOptionsTest
    {
        public static void DoSomething(string name, int time = 2000)
        {
            Debug.WriteLine($"DoSomething--Start--{name}--{Thread.CurrentThread.ManagedThreadId.ToString("00")}--{DateTime.Now.ToString("HH:mm:ss.fff")}");
            Thread.Sleep(time);
            Debug.WriteLine($"DoSomething--End--{name}--{Thread.CurrentThread.ManagedThreadId.ToString("00")}--{DateTime.Now.ToString("HH:mm:ss.fff")}");
        }

        public static void Main(string[] args )
        {
            /*
             * none:默认情况
             */
            #region
            Task task1 = new Task(() =>
            {
                DoSomething("task1");
            });
            Task task2 = task1.ContinueWith(t =>
            {
                DoSomething("task2");
            });
            Task task3 = task2.ContinueWith(t =>
            {
                DoSomething("task3");
            });
            task1.Start();
            Debug.WriteLine(task3 + " " + task2.ToString() + " " + "1111");
            #endregion
        }
    }
}

这是本地运行结果:
请问这是为什么,在Task外面是可以打印出来的,是Task的问题吗?
另外请问@李宥小哥 ,方便的话帮我看一下,谢谢

img

  • 写回答

1条回答 默认 最新

  • 於黾 2023-03-27 11:10
    关注

    你主函数退出的太快了,子线程还没等启动主线程都执行完了
    主线程结束,整个进程也就结束了
    task是个异步操作,它不是threading那种线程,那种是独立运行的,主线程结束了子线程还可以运行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 已采纳回答 3月28日
  • 修改了问题 3月27日
  • 修改了问题 3月27日
  • 展开全部

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?