ฉันกำลังพัฒนาคลาส C ++ (MyClass.cpp) ที่ฉันจะคอมไพล์เป็นไลบรารีที่ใช้ร่วมกันแบบไดนามิก (MyClass.so)
ไลบรารีที่ใช้ร่วมกันนี้จะถูกใช้โดยแอปพลิเคชันสองตัวที่ทำงานบนเครื่อง Linux เครื่องเดียวกัน
มันเป็นสองแอปพลิเคชันที่แตกต่างกัน มันไม่ใช่แอปพลิเคชันแบบมัลติเธรด และไม่สามารถเป็นได้
ในคลาสนี้มีเมธอด MyClass::WriteHardware ที่ต้องดำเนินการโดยมีการแยกออกร่วมกัน ดังนั้นจึงเป็นไปไม่ได้ที่ทั้งสองแอปพลิเคชันจะรันพร้อมกันได้
อะไรคือวิธีที่ถูกต้องและง่ายที่สุดในการบรรลุการซิงโครไนซ์ระหว่างสองกระบวนการที่แตกต่างกัน โดยพิจารณาว่าไลบรารี MyClass.so นั้นเป็นเรื่องปกติสำหรับทั้งสองกระบวนการ
mutex จะทำงานในกรณีนี้หรือไม่ เนื่องจากไม่ใช่แอปพลิเคชันแบบมัลติเธรด