Saling Pengecualian (Mutex)

Pengarang: Lewis Jackson
Tanggal Pembuatan: 8 Boleh 2021
Tanggal Pembaruan: 15 Boleh 2024
Anonim
Go (Golang) sync.Mutex Tutorial
Video: Go (Golang) sync.Mutex Tutorial

Isi

Definisi - Apa yang Dimaksud dengan Mutual Exclusion (Mutex)?

Pengecualian bersama (mutex) adalah objek program yang mencegah akses simultan ke sumber daya bersama. Konsep ini digunakan dalam pemrograman bersamaan dengan bagian kritis, sepotong kode di mana proses atau utas mengakses sumber daya bersama. Hanya satu utas yang memiliki mutex pada satu waktu, sehingga mutex dengan nama unik dibuat ketika sebuah program dimulai. Ketika sebuah thread memegang sumber daya, ia harus mengunci mutex dari utas lainnya untuk mencegah akses bersamaan dari sumber daya tersebut. Setelah melepaskan sumber daya, utas membuka mutex.


Pengantar Microsoft Azure dan Microsoft Cloud | Sepanjang panduan ini, Anda akan mempelajari tentang apa itu cloud computing dan bagaimana Microsoft Azure dapat membantu Anda untuk bermigrasi dan menjalankan bisnis Anda dari cloud.

Techopedia menjelaskan Mutual Exclusion (Mutex)

Mutex muncul saat dua utas bekerja pada data yang sama pada saat yang sama. Karena berfungsi sebagai kunci dan merupakan alat sinkronisasi paling dasar. Ketika sebuah utas mencoba untuk mendapatkan suatu mutex, ia mendapatkan mutex jika tersedia, jika tidak maka utas diatur ke kondisi tidur. Pengecualian bersama mengurangi latensi dan kesibukan menunggu menggunakan sakelar antrian dan sakelar. Mutex dapat diberlakukan di tingkat perangkat keras dan perangkat lunak.

Menonaktifkan interupsi untuk jumlah instruksi terkecil adalah cara terbaik untuk menegakkan mutex di tingkat kernel dan mencegah korupsi struktur data bersama. Jika beberapa prosesor berbagi memori yang sama, bendera diatur untuk mengaktifkan dan menonaktifkan akuisisi sumber daya berdasarkan ketersediaan. Mekanisme menunggu-tunggu memberlakukan mutex di area perangkat lunak. Ini dilengkapi dengan algoritma seperti algoritma Dekkers, algoritma roti hitam-putih, algoritma Szymanskis, algoritma Petersons dan algoritma bakery Lamports.


Pembaca yang saling eksklusif dan baca / tulis kode kelas mutex dapat didefinisikan untuk implementasi mutex yang efisien.