Sinxronizatsiya: Mutex. Muteks M ikkilik son bo'lib, 0 va 1 qiymatlariga ega bo'lishi mumkin, bu foydali bo'ladi o'zaro istisnoda. Muteksga dastlab har qanday ipga ruxsat berish uchun 1 qiymati beriladi bu uning muhim qismiga kirishi kerak:
4.4O'zaro istisno va MAC o'rtasidagi o'xshashliklar
Ip mutexni qabul qilib, kirganda uning muhim bo'limi, uning qiymatini kamaytirish orqali uni qulflaydi. Ip tugagach kritik bo'limi bilan uning qiymatini oshirish orqali mutexni chiqaradi. Har qanday ip qulf ishlatilayotgan paytda kritik mintaqaga yetib kelganlar kutadi, chunki mutex allaqachon 0 da. Natijada eng ko'p bitta ip muhim bo'limga kirishi mumkin va u ketgandan keyingina boshqasi kirishi mumkin. Bunday qulflash strategiyasi tez-tez ishlatiladi umumiy global o'zgaruvchiga kiradigan kodni ketma-ketlashtirish va o'zaro ta'minlash chiqarish.
Sinxronizatsiya: to'siqlar. Oldingi ikki bo'limda biz muhokama qilgan qulflar va mutekslarning misollari edi kritik bo'limlaridagi umumiy o'zgaruvchilarda bir nechta vazifalar yoki mavzular ishlaganda ishlatiladi. Sinxronizatsiya to'sig'i, aksincha, bir nechta mustaqil bo'lganda ishlatiladi vazifalar yoki iplar parallel ravishda bir nechta ishlarni bajarish uchun ishlatiladi. Yo'q ushbu mavzular orasidagi umumiy o'zgaruvchilar. Sinxronizatsiya to'sig'i hodisa uchun ishlatiladi Sinxronizatsiya, bunda ma'lum miqdordagi vazifalar bajarilishi kerak qolgan vazifalarni bajarishga ruxsat beriladi. To'siqni amalga oshirish juda foydali bo'ladi ketma-ket - bir nechta parallel vazifalar bajarilishi kerak bo'lgan parallel algoritmlar (SPA).
Algoritm bajarilishining keyingi holatiga o'tishdan oldin. 4.7-rasmda a parallel vazifalar o'rtasida to'siqlar qo'llaniladigan SPA misoli. Shaklda, Bizda besh bosqichdan iborat SPA bor va biz har bir vazifa bo'lishi kerak deb taxmin qildik ip orqali bajariladi. Har bir bosqichda bajariladigan parallel vazifalar soni har xil ikkidan to'rtgacha.
Har bir bosqichdagi vazifalarni ko'chirishdan oldin bajarilishini ta'minlash uchun keyingi vazifaga biz ko'rsatilgandek to'siqlarni joylashtiramiz. Buyruq to'sig'i (j) ko'rsatadi j vazifa/iplar keyingi vazifalar to'plamini davom ettirishdan oldin to'siqqa etib borishi kerak. POSIX ish zarralari kutubxonasi to'siq ob'ektini funktsiyalari bilan birga belgilaydi uni yaratadi va uni sinxronlashtirish uchun ishlatadigan iplarni yaratadi.