Sabtu, 20 Mei 2017

[Ulasan 1] Introduction to Semaphores

Pada post ini, saya akan melakukan review terhadap sebuah video dengan judul "Lecture 2, unit 1: Introduction to Semaphores" yang diunggah oleh Mike Swift pada 16 April 2013 lalu. Video dengan durasi 7 menit 50 detik ini dapat anda akses di YouTube dengan URL: https://youtu.be/KZU4ANBoLTY

Video ini menjelaskan dasar-dasar yang perlu kita ketahui dan pahami mengenai semaphore. Semaphore pada dasarnya adalah sebuah synchronization primitive dengan level yang lebih tinggi daripada lock. Terdapat 2 operasi pada semaphore, yaitu operasi signal dan operasi wait. Wait adalah operasi decrement counter, apabila counter mencapai 0, maka wait akan mem-block sampai thread lain men-signal semaphore. Signal adalah operasi increment counter yang membangunkan satu thread yang sedang dalam kondisi menunggu (waiting).

Semaphore adalah operasi pemblokiran (blocking operation). Saat wait dipanggil oleh salah satu thread, apabila semaphore tersedia (counter > 0), maka thread akan terus berjalan. Apabila semaphore tidak tersedia, maka thread akan diblokir dan masuk ke dalam wait queue. Saat signal dipanggil, apabila ada thread dalam wait queue, maka satu thread akan dikeluarkan (unblock) dan diletakkan di dalam ready queue dan siap dijalankan. Apabila saat signal dipanggil tidak ada thread di dalam wait queue, maka thread pertama yang memanggil wait akan dapat berjalan langsung tanpa diblokir terlebih dahulu.

Pembahasan yang dilakukan di dalam video ini menurut saya sangat membantu dalam memahami dasar-dasar mengenai semaphore dari nol. Dengan narasi yang diartikulasikan dengan jelas dan visualisasi serta contoh yang membantu proses pemahaman langsung, video ini sangat saya rekomendasikan sebagai bahan pembelajaran mengenai semaphore.


Github Account : andregema
URL Ulasan : http://osandregema.blogspot.co.id/2017/05/ulasan-1-introduction-to-semaphores.html
URL Video : https://youtu.be/KZU4ANBoLTY

Durasi : 7:50
Video Author : Mike Swift
Pemetaan  : week07
Tanggal Submisi Revisi Pertama : Sabtu, 20 Mei 2017
Tanggal Submisi Revisi Terakhir : Sabtu, 20 Mei 2017 




Tidak ada komentar:

Posting Komentar