Я выделяю память, используя mmap
для хранения некоторых данных в ассоциативной манере набора, где я хочу получить доступ к наборам одновременно. Итак, если есть K наборов, то я выделяю K + 1 интервалов для набора, где первый интервал используется для метаданных. Здесь, в начале слота метаданных, я хочу сохранить блокировку. Так как мне создать замок в этом конкретном месте? С помощью оператора sizeof я обнаружил, что размер блокировки равен 40B. Поэтому я удостоверился, что каждая запись по крайней мере 40B.
Обычно мы создаем блокировку pthread, используя
pthread_mutex_t lock;
Итак, безопасно липросто скопировать 40B переменной блокировки в требуемое место?
Так как отладить параллельную программу сложно, было бы здорово, если бы кто-то мог сказать, является ли это правильным способом сделать это. Спасибо.