c ++ 11 atomów międzyprocesowych i muteksów

Mam program Linux, który tworzy kilka procesów (fork) i komunikuje się za pośrednictwem pamięci współdzielonej POSIX. Chciałbym, aby każdy proces przydzielał identyfikator (0-255). Moim zamiarem jest umieszczenie bitvektora we współdzielonym obszarze pamięci (zainicjowanym na zero) i atomowe porównanie i zamiana bitów w celu przydzielenia identyfikatora.

Czy istnieje sposób na to, aby zrobić to w 11 językach? Czy mogę utworzyć atomowy bitset? Czy mogę używać muteksu w procesach? Jak zapewnić, że konstruktorzy będą wywoływani raz i tylko raz we wszystkich procesach?

questionAnswers(2)

yourAnswerToTheQuestion