BT Sözlüğü › Programlama › Meşgul bekleme (busy waiting)

Meşgul bekleme (busy waiting)

Programlama Svenska → Güncellendi: 2026-11-03

Bir koşul gerçekleşene ya da yeterli süre geçene kadar işlemciyi işe yaramaz bir döngüde döndürerek beklemek.

Firmware’in en eski gecikmesi for (i = 0; i < 100000; i++); satırıdır. İki klasik hatası vardır: sayaç volatile değilse derleyici döngüyü tümden siler; biri saat hızını ya da derleyici bayraklarını değiştirdiği anda da gecikme doğru olmaktan çıkar. Linux açılışta gecikme döngüsünü kalibre eder; ekrana yazdırılan BogoMIPS değeri tam olarak budur.

Kısa beklemelerde, örneğin bir sürücüde birkaç mikrosaniyede, meşgul bekleme çoğu zaman doğru seçimdir: uykuya dalıp uyanmak beklemenin kendisinden pahalıdır. Daha uzun süreler için diğer görevlerin çalışmasına izin veren bir zamanlayıcı ya da RTOS çağrısı daha iyidir. Spinlock, koşulu bir kilit olan meşgul beklemeden başka bir şey değildir.

← Sözlüğe dön