BT Sözlüğü › Programlama › volatile

volatile

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

Derleyiciye, değişkenin her okuma ve yazma işleminin gerçekten yapılması gerektiğini söyleyen bir C ve C++ tür niteleyicisi.

Derleyiciler normalde belleğin yalnızca program onu değiştirdiğinde değiştiğini varsayar. Bu yüzden bir bayrağı bekleyen döngü sonsuz döngüye dönüştürülebilir, aynı adrese art arda iki yazma da tek yazmaya birleştirilebilir. Bir donanım yazmacı ya da kesmenin ayarladığı bir bayrak için bu eniyilemelerin ikisi de ölümcüldür. 1989’da ANSI C ile gelen volatile, bunları yalnızca o değişken için kapatır.

Yaptığı da bundan ibarettir. Atomiklik ya da diğer değişkenlere göre sıralama sağlamaz; işlemci erişimleri yeniden sıralamakta hâlâ serbesttir. Birden çok çekirdekteki iş parçacıkları için atomikler ve bellek bariyerleri gerekir; Linux çekirdeği belgelerinde “Why the volatile type class should not be used” başlıklı koca bir sayfa vardır. Bu arada Java’nın volatile’ı gerçek sıralama garantileri veren farklı bir canavardır: aynı sözcük, farklı vaatler.

← Sözlüğe dön