คำถามติดแท็ก recursive-mutex

7
Recursive Lock (Mutex) กับ Non-Recursive Lock (Mutex)
POSIX อนุญาตให้ mutexes วนซ้ำ นั่นหมายความว่าเธรดเดียวกันสามารถล็อค mutex เดียวกันสองครั้งและจะไม่หยุดชะงัก แน่นอนว่ามันต้องปลดล็อคสองครั้งมิฉะนั้นจะไม่มีเธรดอื่นที่สามารถรับ mutex ได้ ไม่ได้ทุกระบบสนับสนุน pthreads ยังสนับสนุน mutexes recursive แต่ถ้าพวกเขาต้องการที่จะPOSIX สอดคล้องพวกเขาจะต้อง API อื่น ๆ (API ระดับสูงกว่า) มักจะเสนอ mutexes ซึ่งมักเรียกว่าล็อค ระบบ / ภาษาบางระบบ (เช่น Cocoa Objective-C) เสนอทั้ง mutex แบบเรียกซ้ำและไม่เรียกซ้ำ บางภาษาเสนอเพียงหนึ่งภาษาเท่านั้น เช่นใน Java mutexes จะเรียกซ้ำ (เธรดเดียวกันอาจสองครั้ง "ซิงโครไนซ์" บนวัตถุเดียวกัน) ขึ้นอยู่กับฟังก์ชันเธรดอื่น ๆ ที่พวกเขาเสนอการไม่มี mutexes แบบเรียกซ้ำอาจไม่มีปัญหาเนื่องจากพวกเขาสามารถเขียนได้อย่างง่ายดายด้วยตัวคุณเอง สิ่งที่ฉันไม่เข้าใจจริง ๆ : …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.