C#的Console.WriteLine()和Debug.WriteLine()无效
在学习多线程时将下面链接中的示例沾到本地运行,发现打印不出东西
https://blog.csdn.net/liyou123456789/article/details/120595489#comments_25721366
这是本地的代码:
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的问题吗?
另外请问@李宥小哥 ,方便的话帮我看一下,谢谢