การนำไปใช้: ข้อเสียเปรียบหลักของสัญญาณคือ ที่ต้องรออย่างวุ่นวาย การรอที่วุ่นวายทำให้ CPU เสียวงจรที่กระบวนการอื่นอาจใช้งานได้อย่างมีประสิทธิผล สัญญาณประเภทนี้เรียกอีกอย่างว่า spinlock เนื่องจากกระบวนการหมุนขณะรอการล็อค
สัญญาณมีคิวรอหรือไม่
การใช้งานสัญญาณสัญญาณสามารถนำไปใช้ในระบบปฏิบัติการโดยเชื่อมต่อกับสถานะกระบวนการและคิวการกำหนดเวลา: เธรดที่ถูกบล็อกบนสัญญาณจะถูกย้ายจากการเรียกใช้เป็นการรอ (การรอเฉพาะสัญญาณ คิว).
mutexes ใช้เวลาในการรออย่างยุ่งหรือไม่
มาตรฐานกับ mutex แบบหมุน:
การรอที่ไม่ได้ใช้งาน: เธรดที่รอล็อค mutex ถูกบล็อกในสถานะรอตามที่อธิบายไว้ในบทที่ 2มันปล่อย CPU ซึ่งสามารถใช้เพื่อเรียกใช้เธรดอื่นได้ … การรอที่วุ่นวาย หรือเรียกอีกอย่างว่าการรอแบบหมุน ซึ่งเธรด รอล็อค mutex ไม่ปล่อย CPU
สัญญาณกับ mutex ต่างกันอย่างไร
mutex เป็นอ็อบเจ็กต์ แต่ semaphore เป็นตัวแปรจำนวนเต็ม … ออบเจ็กต์ mutex อนุญาตให้ เธรดกระบวนการหลายรายการ เข้าถึงทรัพยากรที่ใช้ร่วมกันเพียงรายการเดียว แต่ครั้งละหนึ่งรายการเท่านั้น ในทางกลับกัน semaphore อนุญาตให้เธรดกระบวนการหลายตัวเข้าถึงอินสแตนซ์ที่จำกัดของทรัพยากรจนกว่าจะพร้อมใช้งาน
ปัญหาหลักของสัญญาณคืออะไร
ปัญหาคลาสสิกของการซิงโครไนซ์กับ Semaphore Solution
- Bounded-buffer (หรือผู้ผลิต-ผู้บริโภค) ปัญหา: ปัญหา Bounded Buffer เรียกอีกอย่างว่าปัญหาผู้บริโภคของผู้ผลิต …
- กิน-นักปรัชญา ปัญหา: …
- ปัญหานักอ่านและนักเขียน: …
- นอนตัดผม ปัญหา: