среда, 11 октября 2023 г.

C#, Console.ReadLine, Threads, Blocking

https://stackoverflow.com/questions/37834572/what-happens-when-a-net-console-app-blocks-on-console-readline




static void Test3() from Reffs 2
{
    var cts = new CancellationTokenSource();
    var processingTask = Task.Factory.StartNew(() => GetStreamFromYoutubeDl(),cts.Token);
    var readingFromConsoleTask = Task.Factory.StartNew(() =>
    {
        Console.WriteLine("Press 'q' to exit.");
        while (true)
        {
            var read = Console.ReadKey(true);
            if (read.Key == ConsoleKey.Q)
            {
                cts.Cancel();
                return;
            }
        }
    });

    Task.WaitAny(processingTask, readingFromConsoleTask);
}



Комментариев нет:

Отправить комментарий