Нужно ли защищать доступ к индексу Boost MultiIndex (самому индексу) с помощью блокировки? - PullRequest
0 голосов
/ 31 декабря 2018

Предполагая, что у меня есть boost :: multi_index_container и я хочу получить доступ к его индексу

  boost::multi_index_container< ... > bmi;
  // lock here?
  auto &index = boost::multi_index::get<0>(bmi);   // <-- does this call need to be protected by a lock?

  // or is it sufficient to lock here?

  // access the index (need to have the lock here)

Когда несколько процессов / потоков обращаются к multi_indesx_container, мне нужно использовать мьютексы (или что-то в этом роде).Но нужно ли защищать получение самого индекса тоже?Наверное, нет, но не смог найти гарантию в документах.

1 Ответ

0 голосов
/ 31 декабря 2018

Хотя это нигде не задокументировано, get() является статической операцией приведения , которая по своей сути поточно-ориентирована.

...