Является ли cv::Mat потокобезопасным (атомарное присваивание + подсчет ссылок)?

Я пытаюсь поделиться изображением, которое используется только для чтения, между потоками. Обычно я делаю такие вещи с boost::shared_ptrs, но поскольку cv::Mat уже является контейнером для подсчета ссылок внизу, я пытался использовать его таким же образом, предполагая, что он потокобезопасен, основываясь на ссылках на безопасность потоков. в подсчете ссылок здесь:

Однако у меня были проблемы, которые могут указывать на то, что они фактически не являются потокобезопасными; это назначение не является атомарным. Иногда я получаю seg-fault внутри приращения счетчика ссылок, что означает, что исходный объект уже уничтожен.

Итак, конкретный вопрос:

  • Является ли присваивание cv::Mat атомарным?

9
задан Catskul 22 May 2012 в 06:05
поделиться