Есть ли разница между использованием функций WindowsAPI Sleep() и WaitForSingleObject() в плане эффективности предоставления оставшейся части кванта времени другим потокам?
Предположим, мы хотим приостановить текущий поток на малый промежуток времени (например, 50-100 мс), и, как перфекционисты, желаем, чтобы другим потокам досталась максимально возможная часть этого процессорного времени, включая остаток текущего кванта (минимизировать накладные расходы, присущие реализации).
Точность реализации временной задержки не имеет значения
Вариант 1: Sleep(xx)
Вариант 2: WaitForSingleObject(h,..,..,xx) — в качестве хендла указываем хэндл самого потока, соответственно выход по таймауту
Это все не работает на малоядерных процессорах под виндовс, типичный слип будет 2-6 миллисекунд при переключении контекста процесса. На него и можно закладываться.
USD/JPY: пара возобновила рост на фоне японской неопределенности
Японская йена с началом нового года продолжила свое снижение после долгого периода консолидации, достигнув новых локальных экстремумов. Одним из ключевых факторов, влияющих на пару, стала...
Рейтинг ключевых событий 2025-го и наши планы на следующий год
В канун старого Нового года мы решили оглядеться назад и подвести итоги прошедшего года – что-то, безусловно, нам удалось, где-то в реализацию планов вмешались внешние обстоятельства, ну а в...
ПАО «АПРИ» планирует размещение облигаций серии БО-002Р-13
ПАО «АПРИ» планирует размещение облигаций серии БО-002Р-13
💼 Предварительные параметры выпуска: 🔵 Предварительная дата сбора книги заявок: 20 января 2026 года с 11:00 до 15:00...
Решил открыть второй счёт 01.01.2026. Выбесила их двухфакторная аутентификация. При любом разрыве связи вводить код из СМС по 15 раз в день. Неееее. Техподдержка сказала никак невозможно отключить. Та...
Предположим, мы хотим приостановить текущий поток на малый промежуток времени (например, 50-100 мс), и, как перфекционисты, желаем, чтобы другим потокам досталась максимально возможная часть этого процессорного времени, включая остаток текущего кванта (минимизировать накладные расходы, присущие реализации).
Точность реализации временной задержки не имеет значения
Вариант 1: Sleep(xx)
Вариант 2: WaitForSingleObject(h,..,..,xx) — в качестве хендла указываем хэндл самого потока, соответственно выход по таймауту