Задать вопрос
@historydev
Mistkerl, drück den Knopf.

Почему всё выводится в одну строку?

void RunLoader(char ch, int sleepTime)
{
    Console.WriteLine();
    for (int i = 0; i < 40; i++)
    {
        Thread.Sleep(sleepTime);
        Console.Write(ch);
    }
}

void Run1() => RunLoader('2', 10);
void Run2() => RunLoader('1', 100);

Parallel.Invoke(Run1, Run2);

22222221222222212222222122222212222222212222211111111111111111111111111111111111dotnet watch ⏳ Waiting for a file to change before restarting dotnet...


P.S:
Работает если просто вызвать, асинхронно тоже, но параллельно почему-то нет
Должно выводить две новых строки, которые заполняются цифрами 2 и 1.

P.S2:
Thread.CurrentThread.Name = "Main";

// Create a task and supply a user delegate by using a lambda expression.
Task taskA = new Task( () =>
{
    for (int i = 0; i < 40; i++)
    {
         Console.Write(1);
         Thread.Sleep(50);
    }
});

Task taskB = new Task( () =>
{
    for (int i = 0; i < 40; i++)
    {
         Console.Write(2);
         Thread.Sleep(10);
    }
});
// Start the task.
Console.WriteLine();
taskA.Start();
Console.WriteLine();
taskB.Start();
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Дмитрий К ответам на вопрос (3)
@Stariyded
Сетевой админ
Потому что нигде в коде нет перевода строки
Ответ написан