Boost :: interprocess: : shared_ptr потокобезопасный (и межпроцессный)?

Я хочу обмениваться данными между потоками и автоматически удалять их, когда последний пользователь закончит с ними . Похоже, что в большинстве случаев это работает, используя boost :: interprocess :: shared_ptr в сегменте boost :: fixed_managed_shared_memory : но не всегда.

Итак, это ]увеличение:: interprocess :: shared_ptr thread (and interprocess) -safe?

Если я использую свою разделяемую память по фиксированному адресу (я почти уверен, что это будет нормально в моем 64-битном (ну, 48-битное адресное пространство), можно ли вместо этого использовать обычный boost :: shared_ptr (который является потокобезопасным)?

некоторые пояснения:

Тип указателя, который я использую, простой void * , (моя общая память сопоставлена ​​с фиксированным адресом).

Вопрос безопасности потоков заключается в счетчике ссылок, то есть, копирование / уничтожение общих указателей на одно и то же в разных процессах в то же время разрешено. Не доступ к одному и тому же общему указателю в разных потоках, и не доступ к указателю.

6
задан James 25 April 2011 в 17:00
поделиться