Langsung ke konten

Arsip

Algoritma Lock-Free

1 artikel
Rekayasa Perangkat Lunak 23 Sep 2026 5 min read

Hazard Pointer Menunda Reklamasi sampai Reader Melepas Referensi

Menghapus node dari struktur data lock-free tidak membuat memorinya langsung aman untuk digunakan kembali. Thread lain mungkin sudah memegang alamat node tersebut dan masih akan mengaksesnya. Jika thread penghapus membebaskan alokasi terlalu cepat, pembaruan atomik yang benar dapat diikuti use-after-free. Hazard pointer memisahkan penghapusan logis dari reklamasi fisik. Reader memublikasikan alamat yang hendak diakses ke hazard slot yang ditentukan. Thread lain dapat melepas node dari struktur dan menaruhnya pada retired list, tetapi reklamasi menunggu sampai pemindaian memastikan tidak ada hazard slot yang melindungi alamat itu.