BT Sözlüğü › Programlama › Bellek bariyeri

Bellek bariyeri

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

Bellek işlemlerinin etrafında nasıl yer değiştirebileceğini kısıtlayan bir komut. Gerekli, çünkü hem derleyici hem işlemci arkanızdan işlemleri yeniden sıralar.

Yeniden sıralama tek iş parçacıklı kodda görünmezdir, sonuç aynıdır; çok iş parçacıklı kodda ise yıkıcıdır. Klasik hata, bir nesnenin alanları başka bir çekirdek tarafından görünür olmadan önce nesneye işaretçinin yayımlanmasıdır: o çekirdek, kendi açısından hiç ilklendirilmemiş bir nesneden çöp okur. Bariyerler bellek sıralamalarına karşılık gelen çeşitlerde olur: acquire bariyeri sonraki okumaların öne geçmesini, release bariyeri önceki yazmaların geriye kaymasını, tam bariyer ise her şeyi engeller. İki şey şaşırtır. Derleyici ve donanım yeniden sıralaması ayrı sorunlardır ve ikisi de ele alınmalıdır; volatile'ın bir iş parçacığı aracı olmamasının nedeni budur. Ayrıca x86'nın güçlü sıralaması, hatalı kodun orada çoğu zaman çalışıp ARM'de bozulması anlamına gelir.

← Sözlüğe dön