Wednesday, November 19, 2014

Kodok Ganteng - Concurrency

Nah kali ini mari kita diskusi tentang concurrency, apa itu? Jadi gini Concurrency merupakan 2 hal (dalam hal ini adalah proses) yang berjalan secara bersamaan. Kira2 apa yang terjadi? Nah kemungkinan kesalahan pastinya akan muncul, berikut adalah beberapa kesalahan yang dapat terjadi:
  • Bahaya global resource
  • Sulit alokasi resource secara optimal
  • Sulit debugging


Beberapa istilah yang terdapat di concurrency:
  • Atomic operation, sebuah action yang tampaknya tidak dapat dibagi. Atomic operation bersifat tidak bisa di interrupt
  • Critical section,bagian tertentu dari code yang butuh akses ke resource. jika sedang berjalan maka proses lain tidak boleh ikut jalan.
  • Race condition, Hasil dari proses tergantung dari siapa proses yang berjalan terlebih dahulu
  • Mutual exclution, sesuatu yang digunakan untuk mengunci bagian pada critical section, ketika proses dijalankan. Biasanya menggunakan perintah mutex_lock.


Nah, penggunaan pada bagian yang dijelaskan diatas dapat terjadi kesalahan yang biasanya dari user. Berikut beberapa kesalahan yang sering terjadi :
  • Starvation, bagian dari proses yang tidak pernah dijalankan
  • Deadlock, saling tunggu antar proses sehingga tidak ada yang berjalan




No comments:

Post a Comment