Холостий цикл — спосіб організації програми, при якому процес очікує настання певних подій шляхом неодноразової перевірки відповідних умов у циклі. При цьому мікропроцесор (центральний процесор комп'ютера чи вбудованої системи) лише перевіряє умови і повертається на початок циклу, не виконуючи при цьому ніякої корисної роботи, від чого і пішла назва циклу «холостий».

Холостий цикл також може використовуватися для затримок виконання програми, але такий спосіб може давати значну похибку через різний час одного проходу циклу в залежності від системи.

Також холостий цикл використовується при спін-блокуванні, коли час очікування суттєво менший за час перемикання між процесами.

Приклади

Затримка

Холостий цикл часто використовується для реалізації затримок. Для цього у змінну записується кількість ітерацій циклу, яка обчислюється, виходячи з необхідного часу затримки та часу виконання однієї ітерації. Далі на кожній ітерації циклу змінна зменшується на 1 до досягнення нульового значення.

Реалізація затримки різними мовами: C / C++ Асемблер AVR Асемблер MCS-51 volatile int i; i = delay_cycles; while (--i) ; ldi R16, delay_cycles dly: dec R16 brne dly mov R0, #delay_cycles djnz R0, $

Інші значення Холостий перегін гірничої машини Переміщення гірничої машини (комбайна, врубової машини та ін.) в очисному вибої без виконання операцій по вийманню корисної копалини.

Див. також BogoMips NOP

Примітки