Есть ли разница между использованием функций WindowsAPI Sleep() и WaitForSingleObject() в плане эффективности предоставления оставшейся части кванта времени другим потокам?
Предположим, мы хотим приостановить текущий поток на малый промежуток времени (например, 50-100 мс), и, как перфекционисты, желаем, чтобы другим потокам досталась максимально возможная часть этого процессорного времени, включая остаток текущего кванта (минимизировать накладные расходы, присущие реализации).
Точность реализации временной задержки не имеет значения
Вариант 1: Sleep(xx)
Вариант 2: WaitForSingleObject(h,..,..,xx) — в качестве хендла указываем хэндл самого потока, соответственно выход по таймауту
Это все не работает на малоядерных процессорах под виндовс, типичный слип будет 2-6 миллисекунд при переключении контекста процесса. На него и можно закладываться.
Как бизнесу открыть брокерский счет и хеджировать валютные риски: пошаговый гайд
Содержание статьи Шаг 1. Открытие брокерского счета для ООО Шаг 2. Пополнение счета Шаг 3. Терминал и начало работы Мониторинг позиции Резюме В прошлой статье мы разобрали...
Реквием по ДДУ: какие есть риски инвестиций в новостройки при покупке квартиры у застройщика
Вместе с управляющими фондами недвижимости Т-Капитал, Бачуки Цанава разбираемся, как застройщик финансирует проект и какие риски стоит оценить до покупки. Купить квартиру на старте...
«Ренессанс страхование» возместила 131 млн рублей клиентам на восстановление после пожаров
В этом году Группа Ренессанс страхование урегулировала восемь крупных страховых случаев по загородной недвижимости — общая сумма компенсаций составила 131,2 млн рублей. Все компенсации были...
ЕС увеличил закупки СПГ с Ямал СПГ до рекордных 12,18 млн тонн за 9М 2026 года — РИА Новости Евросоюз за январь-сентябрь 2026 года увеличил закупки российского СПГ с проекта Ямал СПГ до рекордных 12,1...
Разгром Эр-Рияда и бессилие Пентагона — уроки военного искусства от «парней в шлёпках»
Саудовская Аравия планировала покончить с хуситами, но ее главные силы оказались в «котле»
Отряды движения «А...
Предположим, мы хотим приостановить текущий поток на малый промежуток времени (например, 50-100 мс), и, как перфекционисты, желаем, чтобы другим потокам досталась максимально возможная часть этого процессорного времени, включая остаток текущего кванта (минимизировать накладные расходы, присущие реализации).
Точность реализации временной задержки не имеет значения
Вариант 1: Sleep(xx)
Вариант 2: WaitForSingleObject(h,..,..,xx) — в качестве хендла указываем хэндл самого потока, соответственно выход по таймауту