Concurrency adalah situasi di mana 2 atau lebih dari suatu hal berjalan bersamaan. Contoh kasus pada programming adalah saat 2 proses ingin menampilan hasil output prosesnya pada saat yang bersamaan di sebuah monitor. Maka akan terjadi perebutan resource pada dua proses itu
Masalah yang dihadapi oleh concurrency adalah :
- Mengkses hal / resource yang sama
- Sulitnya OS mengatur alokasi resources secara optimal
- Sulit mencari kesalahan programming
Istilah - istilah pada concurrency :
1. Atomic Operation
Atomic operation adalah sekumpulan instruksi yang harus dijalankan atau tidak sama sekali. Atomic operation ini tidak bisa disela atau diinterrupt.
2. Critical Section
Critical section adalah beberapa atomic operation yang tidak boleh disela, tetapi bisa disela. Critical section tidak boleh dijalankan ketika ada proses lain yang sedang menjalankan bagian tersebut.
3. Race Condition
Race condition adalah siuasi dimana banyak thread dan banyak proses membaca atau menulis data global dan hasil eksekusi tergantung pada proses mana yang mengeksekusi terlebih dahulu.
0 komentar:
Posting Komentar