У меня есть программа Linux, которая генерирует несколько процессов (fork) и обменивается данными через общую память POSIX. Я хотел бы, чтобы каждый процесс выделял id (0-255). Мое намерение состоит в том, чтобы поместить битвектор в область разделяемой памяти (инициализирован на ноль) и атомарно сравнить и поменять бит, чтобы выделить идентификатор.
Есть ли способ сделать это с помощью С++ 11? Могу ли я создать атомный битбит? Могу ли я использовать мьютекс через процессы? Как я могу заверить, что конструкторы вызываются один раз и только один раз для всех процессов?