Будет ли закрываться окно консоли после того, как основной поток выполнит свою работу, если есть какие-то потоки переднего плана, которые что-то печатают на консоли? - PullRequest
0 голосов
/ 16 сентября 2018

Будет ли закрываться окно консоли после того, как основной поток выполнит свою работу, если есть какие-то потоки переднего плана, которые что-то печатают на консоли? Таким образом, в основном текст, который печатается в других потоках, будет отображаться на консоли?

Что-то вроде следующего кода:

public static void Main(string[] args)
        {
            Console.WriteLine("string");

            var threads = new Thread[5];
            for (int i = 0; i < threads.Length; ++i)
            {
                threads[i] = new Thread(() => Console.WriteLine("smth"));
                threads[i].Start();
            }
        }

1 Ответ

0 голосов
/ 16 сентября 2018

В зависимости от того, как вы запускаете код (.NET Framework, .NET Core или Mono), вам следует настроить время ожидания.

public static void Main(string[] args)
{
    Console.WriteLine("string");

    var threads = new Thread[5];
    for (int i = 0; i < threads.Length; ++i)
    {
        threads[i] = new Thread(() => {
            Thread.Sleep(1000);
            Console.WriteLine("smth");
        }) { IsBackground = true };
        threads[i].Start();
    }
}
...