- Bahayanya berbagi global resourcres
- Sulitnya Sistem Operasi mengatur alokasi resources secara optimal
- Sulit untuk mencari kelalahan programming.
1. Atomic Operation
- sebuah operasi yang sifatnya tidak dapat dibagi lagi
- dieksekusi semua atau tidak sama sekali
- bagian program yang tidak dapat di interrupt
2. Critical Section
- bagian tertentu dari code yang membutuhkan akses ke shared resources
- tidak boleh dijalankan ketika ada proses lain yang sedang menjalankan bagian tersebut (tidak boleh ada yang menyela)
3. Race Condition
- hasil eksekusi sebuah program tergantung dari program mana yang berjalan terlebih dahulu