BT Sözlüğü › Programlama › Acquire-release

Acquire-release

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

Kilitsiz kodun neredeyse her zaman gerçekten istediği bellek sıralaması: tek bir değişken üzerinden iki iş parçacığını eşzamanlamaya yetecek kadar güçlü, ama küresel sıralamanın bedelini ödetmeyen.

Release yazması, öncesinde iş parçacığının yazdığı her şeyin, o değeri sonradan acquire ile okuyan iş parçacığınca görülmesini garanti eder. Acquire okuması da kendisinden sonra yazılan hiçbir şeyin ondan önceye taşınmamasını sağlar. İkisi birlikte tam olarak iki iş parçacığı arasında, tam olarak tek değişken üzerinden bir happens-before ilişkisi kurar — bir kilidin içeride yaptığı tam olarak budur: kilitlemek acquire, kilidi açmak release’dir. Alternatif seq_cst, programın tamamındaki bu tür işlemlere ek olarak tek bir toplam sıra dayatır; x86’da depolamalarda bir komut tutar, ARM ve POWER’da ise belirgin biçimde pahalıdır. Bunun altında, yalnızca atomikliği garanti eden ve sayaçlara uygun olan relaxed durur.

← Sözlüğe dön