Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1271 of 1492 menu
◀ ▶

Метод Sleep

Метод Sleep статический. Sleep(0) отдаёт квант и сразу возвращается. Положительный аргумент останавливает лишь этот поток - длительность в примерах не выводят. После паузы ждут Join.

Синтаксис

Thread.Sleep(milliseconds);

Пример

Давайте вызвать Sleep(0) и записать текст:

using System; using System.Threading; class Program { static void Main() { string text = ""; var thread = new Thread(() => { Thread.Sleep(0); text = "abcde"; }); thread.Start(); thread.Join(); string res = text; Console.WriteLine(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте вывести текст в Main после Join:

using System; using System.Threading; class Program { static void Main() { var thread = new Thread(() => { Thread.Sleep(0); }); thread.Start(); thread.Join(); string res = "abcde"; Console.WriteLine(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте убедиться, что главный поток не спал вместе с дочерним:

using System; using System.Threading; class Program { static void Main() { bool mainRan = false; var thread = new Thread(() => { Thread.Sleep(0); }); thread.Start(); mainRan = true; thread.Join(); bool res = mainRan; Console.WriteLine(res); } }

Результат выполнения кода:

True

Смотрите также

  • Join,
    дождаться потока
  • Start,
    запуск
  • Thread,
    класс
  • ThreadPool,
    без Sleep для ожидания
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить