คำถามติดแท็ก mutual-exclusion

6
std :: unique_lock <std :: mutex> หรือ std :: lock_guard <std :: mutex>?
ตั้งค่าใหม่ให้กับStack Overflow ที่ใช้งานอยู่ : Чем std :: unique_lock отличаетсяот std :: lock_guard? ฉันมีสองกรณีใช้ A. ฉันต้องการซิงโครไนซ์การเข้าถึงโดยสองเธรดกับคิว B. ฉันต้องการซิงโครไนซ์การเข้าถึงโดยสองเธรดกับคิวและใช้ตัวแปรเงื่อนไขเพราะหนึ่งในเธรดจะรอเนื้อหาที่จะเก็บไว้ในคิวโดยเธรดอื่น สำหรับกรณีที่ใช้ AI std::lock_guard&lt;&gt;ดูตัวอย่างการใช้รหัส สำหรับกรณีการใช้งาน BI std::unique_lock&lt;&gt;ดูตัวอย่างการใช้รหัส อะไรคือความแตกต่างระหว่างทั้งสองกับสิ่งที่ฉันควรใช้ในกรณีที่ใช้?

20
ตรวจสอบให้แน่ใจว่ามีโปรแกรมทำงานอยู่เพียงอินสแตนซ์เดียว
มีวิธี Pythonic ที่จะมีโปรแกรมทำงานเพียงอินสแตนซ์เดียวหรือไม่? วิธีแก้ปัญหาที่สมเหตุสมผลเพียงวิธีเดียวที่ฉันคิดขึ้นมาคือพยายามเรียกใช้เป็นเซิร์ฟเวอร์ในบางพอร์ตจากนั้นโปรแกรมที่สองพยายามผูกกับพอร์ตเดียวกัน - ล้มเหลว แต่มันก็ไม่ใช่ความคิดที่ดีจริงๆอาจจะมีอะไรที่เบากว่านี้? (โปรดพิจารณาว่าโปรแกรมที่คาดว่าจะล้มเหลวในบางครั้งเช่น segfault ดังนั้นสิ่งต่างๆเช่น "ล็อกไฟล์" จะไม่ทำงาน)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.