Холостий цикл
Холостий цикл — спосіб організації програми, при якому процес очікує настання певних подій шляхом неодноразової перевірки відповідних умов у циклі. При цьому мікропроцесор (центральний процесор комп'ютера чи вбудованої системи) лише перевіряє умови і повертається на початок циклу, не виконуючи при цьому ніякої корисної роботи, від чого і пішла назва циклу «холостий».[1]
Холостий цикл також може використовуватися для затримок виконання програми, але такий спосіб може давати значну похибку через різний час одного проходу циклу в залежності від системи.
Також холостий цикл використовується при спін-блокуванні, коли час очікування суттєво менший за час перемикання між процесами.
Приклади
Затримка
Холостий цикл часто використовується для реалізації затримок. Для цього у змінну записується кількість ітерацій циклу, яка обчислюється, виходячи з необхідного часу затримки та часу виконання однієї ітерації. Далі на кожній ітерації циклу змінна зменшується на 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, $
|
Інші значення
Холостий перегін гірничої машини
Переміщення гірничої машини (комбайна, врубової машини та ін.) в очисному вибої без виконання операцій по вийманню корисної копалини.