Высокая загрузка ЦП с многопоточностью C# - PullRequest
0 голосов
/ 15 апреля 2020
    private static void aaa()
    {
        Console.WriteLine("123");
    }

    private static void Start2()
    {
        for (;;)
        {
            try
            {
                Program.t = new Thread(delegate()
                {
                    Program.aaa();
                });
                Program.t.Start();
                GC.Collect();
                GC.WaitForPendingFinalizers();
                GC.Collect();
            }
            catch (Exception value)
            {
                Console.WriteLine(value);
            }
        }
    }

После экспериментов с многопоточностью я разработал это. Единственная проблема в том, что я получаю 100% -ный уровень процессора и не могу его запустить. Я провел огромное количество исследований по этому вопросу и, похоже, не могу найти решение, я попытался добавить System.Threading.Thread.Sleep (10); но это не сработало. Буду признателен за всю помощь, которую я могу получить.

1 Ответ

1 голос
/ 15 апреля 2020

Попробуйте вместо этого:

private static void aaa()
{
    Console.WriteLine("123");
}

private static void Start2()
{
    try
    {
        Program.t = new Thread(delegate()
        {
            Program.aaa();
        });
        Program.t.Start();
        while(t.IsAlive)
            Thread.Sleep(500);
        GC.Collect();
        GC.WaitForPendingFinalizers();
        GC.Collect();
    }
    catch (Exception value)
    {
        Console.WriteLine(value);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...