У меня есть приложение с 2 потоками (сейчас), но кажется, что функция Thread.Sleep() работает не очень хорошо. Она засыпает потоки, но на это уходит гораздо больше времени (например, я хочу засыпать на 5 мс, а она засыпает на 0,3 с или больше). Вот код:
int vlakien = 2;
Thread[] vlakna;
vlakna = new Thread[vlakien];
for (int i = 0; i < vlakien; i++)
{ try { vlakna[i] = new Thread(new ThreadStart(utok)); vlakna[i].Start(); } }
private void utok()
{
//some code
Thread.Sleep(5);
//some code
}
Также я пробовал засыпать с секундомером в функции utok и это тоже занимает больше времени:
Stopwatch SW = new Stopwatch(); SW.Start();
while(SW.ElapsedMilliseconds < 5000) ;
Пожалуйста, помогите.