สารบัญ:
คำจำกัดความ - สัญญาณหมายถึงอะไร?
สัญญาณเป็นวัตถุที่ทำข้อมูลให้ตรงกันที่ควบคุมการเข้าถึงโดยกระบวนการหลายกระบวนการไปยังทรัพยากรทั่วไปในสภาพแวดล้อมการเขียนโปรแกรมแบบขนาน Semaphores ใช้กันอย่างแพร่หลายเพื่อควบคุมการเข้าถึงไฟล์และหน่วยความจำที่ใช้ร่วม ฟังก์ชันพื้นฐานสามประการที่เกี่ยวข้องกับเซมาฟอร์ถูกตั้งค่าตรวจสอบและรอจนกว่าจะเคลียร์เพื่อตั้งค่าอีกครั้ง |
เซมิโคลอนใช้เพื่อแก้ไขปัญหาการซิงโครไนซ์เกณฑ์มาตรฐาน
แนวคิดของสัญญาณได้ถูกนำเสนอโดย Edsger Dijkstra นักวิทยาศาสตร์คอมพิวเตอร์ชาวดัตช์
Techopedia อธิบายเซมาฟอร์
เซมาฟอร์เป็นค่าจำนวนเต็มที่ไม่เป็นลบที่สนับสนุนเซมาฟอร์การดำเนินงาน -> P () และเซมาฟอร์ -> V () P คือการดำเนินการปรมาณูที่รอให้เซมาฟอร์เป็นค่าบวกและลดลงทีละหนึ่งในขณะที่ V คือการดำเนินการปรมาณูที่เพิ่มเซมาฟอร์ทีละหนึ่งซึ่งหมายความว่ามันตื่นขึ้นรอการทดสอบ P ดำเนินการในฮาร์ดแวร์เพื่อประสานงานส่วนสำคัญระดับล่าง
โดยปกติเซมิโคลอนจะใช้งานโดยใช้ file descriptors การสร้างสัญญาณไม่ได้เป็นแบบอะตอม หากสองกระบวนการพยายามที่จะสร้างเริ่มต้นและใช้สัญญาณในเวลาเดียวกันสภาพการแข่งขันจะถูกสร้างขึ้น เซมิโคลอนถูกสร้างและกำหนดค่าเริ่มต้นเป็นค่าบวกเพื่อแสดงความพร้อมใช้งานของทรัพยากรที่จะใช้ เซมิโคลอนสามารถนำมาใช้ผ่านการขัดจังหวะหรือโดยใช้การดำเนินการชุดทดสอบ
ทุกสัญญาณเก็บรักษาชุดของใบอนุญาต มัน จำกัด จำนวนเธรดที่เข้าถึงทรัพยากร เซมาฟอร์ที่มีเพียงหนึ่งใบอนุญาตและเริ่มต้นเป็นหนึ่งในการทำหน้าที่ล็อคการแยกกัน พวกเขาจะเรียกเช่นนี้เพราะพวกเขามีเพียงสองรัฐ: อนุญาตให้ใช้ได้หรือใบอนุญาตเป็นศูนย์ใช้ได้ สิ่งนี้ล้อมรอบคุณสมบัติเพื่อให้การล็อกสามารถถูกปล่อยโดยเธรดอื่นที่ไม่ใช่เจ้าของช่วยในการกู้คืนการหยุดชะงัก เซมาฟอเรสใช้สำหรับการแยกซึ่งกันและกันซึ่งเซมาฟอร์มีค่าเริ่มต้นของหนึ่งและ P () และ V () ถูกเรียกก่อนและหลังส่วนที่สำคัญ
