Synchronizacja pamięci współużytkowanej w systemie Linux

Zaimplementowałem dwie aplikacje, które współdzielą dane za pomocą interfejsu API pamięci współdzielonej POSIX (tj.shm_open). Jeden proces aktualizuje dane przechowywane w segmencie pamięci współdzielonej, a inny proces go odczytuje. Chcę zsynchronizować dostęp do współdzielonego obszaru pamięci za pomocą muteksu lub semafora. Jaki jest najbardziej skuteczny sposób na to? Niektóre mechanizmy, które rozważam, są

Muteks POSIX przechowywany w segmencie pamięci współdzielonej (wymagane byłoby ustawienie atrybutu PTHREAD_PROCESS_SHARED)Tworzenie semafora System V przy użyciusemget

questionAnswers(4)

yourAnswerToTheQuestion