Как я заставляю свою программу C# спать в течение 50 мс?

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

263
задан Peter Mortensen 7 February 2010 в 08:35
поделиться

5 ответов

System.Threading.Thread.Sleep(50);

Помнят, хотя, то выполнение это в основном потоке GUI заблокирует Ваш GUI от обновления (это будет чувствовать себя "вялым")

, Просто удаляют ;, чтобы заставить его работать на VB.net также.

315
ответ дан PsychoData 23 November 2019 в 02:30
поделиться

Вы не можете определить точный время сна в Windows. Вам нужна ОС в реальном времени для этого. Лучшее, которое можно сделать, определяют минимум время сна. Тогда это до планировщика для пробуждения потока после этого. И никогда вызов .Sleep() на потоке GUI.

54
ответ дан shA.t 23 November 2019 в 02:30
поделиться

Используйте этот код

using System.Threading;
// ...
Thread.Sleep(50);
31
ответ дан Alexander Prokofyev 23 November 2019 в 02:30
поделиться
Thread.Sleep(50);

поток не будет запланирован для выполнения операционной системой для определенного количества времени. Этот метод изменяет состояние потока для включения WaitSleepJoin.

Этот метод не выполняет стандартный COM и нагнетание SendMessage. Если необходимо спать на потоке, который имеет STAThreadAttribute, но Вы хотите выполнить стандартный COM и нагнетание SendMessage, рассмотреть использование одной из перегрузок метода Соединения, который определяет интервал тайм-аута.

Thread.Join
14
ответ дан SelvirK 23 November 2019 в 02:30
поделиться
Thread.Sleep
10
ответ дан Roger Lipscombe 23 November 2019 в 02:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: