Кто врет : Thread.Sleep() или Stopwatch - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. static void Main(string[] args){
  2. bool proceed=false;
  3. int timeout = 1500;
  4. var sw = new System.Diagnostics.Stopwatch();
  5. sw.Start();
  6. while (!proceed && sw.ElapsedMilliseconds < timeout){
  7. Thread.Sleep(50);//Ждем по 50 миллисекунд
  8. proceed = true;
  9. }
  10. System.Console.WriteLine(sw.ElapsedMilliseconds);
  11. sw.Reset();
  12. Console.ReadLine();
  13. }
Вывод всегда 49. Как я понимаю, Sleep гарантирует что поток будет остановлен МИНИМУМ на указанное количество миллисекунд, а выходит что это не так?

Решение задачи: «Кто врет : Thread.Sleep() или Stopwatch»

textual
Листинг программы
  1. var start = DateTime.Now;
  2. ...
  3. var elapsed = DateTime.Npw - start;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы