Saya membaca tentang const
dan keamanan utas di C++11, berikut adalah Stack Overflow yang relevan pertanyaan, dan ini juga video oleh Herb Sutter. Kata "sinkronisasi" sering disebutkan. Tapi apa arti sebenarnya dari "sinkronisasi"?
Misalnya, dua baris berikut berasal dari video Herb
"menyalin dari objek yang sama dalam beberapa utas tanpa sinkronisasi" (pada 13:40)
"... Objek const sepenuhnya aman (benar-benar tidak dapat diubah atau disinkronkan secara internal)" (pada 15:03)
1 menjawab
Sinkronisasi berarti berbagi sumber daya antara utas dan proses tanpa mengarah pada perlombaan di sekitar kondisi dan kunci mati.
Tanpa sinkronisasi dalam pernyataan pertama berarti itu tidak mengunci sumber daya dan membukanya ketika selesai.
Dalam pernyataan kedua dia bermaksud mengatakan karena ini adalah objek const, ia tidak dapat dimodifikasi dan karenanya tidak dapat diubah dan tidak memerlukan sinkronisasi.
Sebuah studi tentang teknik sinkronisasi thread menggunakan Mutex dan Semaphore akan membantu Anda lebih memahami mengapa hal itu diperlukan dan bagaimana hal itu dilakukan.