SharedArrayBuffer
- Node.js kursu
- İleri seviye
- Ders 11/83
- 5 dk
SharedArrayBuffer ile paylaşılan bellek öğrenirsin.
SharedArrayBuffer
SharedArrayBuffer, iş parçacıkları arasında paylaşılan bellek bloğudur. postMessage veriyi kopyalar; SharedArrayBuffer ise aynı belleği doğrudan paylaşır. Bu, büyük verilerde kopyalama maliyetini ortadan kaldırır.
Bir SharedArrayBuffer oluşturup postMessage ile işçiye gönderdiğinde, her iki taraf da aynı belleğe okur-yazar. Eşzamanlı yazma çakışmalarını önlemek için Atomics nesnesi kullanılır. Bu, düşük seviyeli paralel programlama için güçlü bir araçtır.
Atomics ile güvenli erişim
Paylaşılan belleğe aynı anda birden çok iş parçacığı yazabilir; bu, yarış durumlarına (race condition) yol açar. Atomics nesnesi, güvenli okuma-yazma ve senkronizasyon primitives sağlar.
Örneğin Atomics.store(arr, index, value) atomik yazma yapar; Atomics.load(arr, index) atomik okuma yapar. Atomics.add, Atomics.compareExchange gibi metotlar da vardır. Bunlar, lock-free programlamanın temelidir.
Uygulama byteLength değerini yaz
8 baytlık bir SharedArrayBuffer oluştur. sab.byteLength değerini yaz.
Başlangıç kodu
// 8 baytlık SharedArrayBuffer oluştur
// byteLength değerini yazÖrnek çözüm
const sab = new SharedArrayBuffer(8);
console.log(sab.byteLength);Beklenen çıktı
8
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sınıf adını tamamla
const sab = new ____(8)
const sab = new SharedArrayBuffer(8)
Açıklama: new SharedArrayBuffer(8) 8 baytlık paylaşılan bellek oluşturur.
2 Parçayı rolüne eşle
| Kavram | Anlamı |
|---|---|
SharedArrayBuffer |
Paylaşılan bellek |
Atomics |
Güvenli erişim |
sab.byteLength |
Byte boyutu |
new SharedArrayBuffer(8) |
8 byte |
3 SharedArrayBuffer ne sağlar?
- Yeni bir alt süreç
- Ağ bağlantısı
- İş parçacıkları arası paylaşılan bellek Doğru cevap
- Dosya sistemi erişimi
Açıklama: SharedArrayBuffer iş parçacıkları arasında paylaşılan bellek sağlar.