C# изменение времени выполнения потока - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть приложение C#, чтобы узнать о многопоточности. Это приложение запускает 4 потока одновременно, и каждый поток выполняет одинаковые операции. Функция потока, как показано ниже

        Watch_Task4.Start();

        for (int i = 0; i < 1000; i++)
        {
            Thread.Sleep(1);
        }

        Watch_Task4.Stop();

Но когда я измеряю время потока, иногда они отличаются примерно на 10 мс. Пока код работает, я проанализировал загрузку процессора и его максимальный% 25. Я также использую ThreadPriority.Highest для всех своих потоков.

Итак, почему время выполнения меняется между потоками и для одного и того же потока в каждом испытании, когда процессор не перегружается?

Я пробовал ProcessorAffinity, но результат тот же. Мне нужна повторяемость не менее 1 мс.

...