gpt4 book ai didi

c# - Task.Factory.StartNew() 不适合我

转载 作者:太空狗 更新时间:2023-10-30 00:08:25 26 4
gpt4 key购买 nike

我写了这个小应用程序。出于某种原因,当我运行这个程序时,我无法打印“Hello from a thread”。但是,如果我调试它并在 Do() 方法中放置一个断点,它会打印出来。

有什么想法吗?

using System;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
internal class Program
{
private static void Main(string[] args)
{
Task.Factory.StartNew(Do);
}

private static void Do()
{
Console.WriteLine("Hello from a thread");
}
}
}

最佳答案

您确定程序没有在您看到输出之前关闭吗?因为这对我来说很好。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
private static void Main(string[] args)
{
Task.Factory.StartNew(Do);
Console.Read();
}

private static void Do()
{
Console.WriteLine("Hello from a thread");
}
}
}

编辑:添加了我为此写的评论,包括我对文本未打印的原因的推理。

要么是因为应用程序在线程有可能将字符串输出到屏幕之前就关闭了。也有可能您根本看不到它,因为它会立即关闭。无论哪种方式,它与断点一起工作的原因是因为您可以让应用程序保持更长的生命周期。

关于c# - Task.Factory.StartNew() 不适合我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8778389/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com