Холостий цикл

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

Інші значення[ред. | ред. код]

Холостий перегін гірничої машини[ред. | ред. код]

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

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]