Мне нужно перебрать вершины и края списка adjacency_list BGL из нескольких потоков. Какой будет эффективный способ сделать это при условии, что граф большой (мьютекс..)?
Методы BGL не поддерживают повторные вызовы?
Мне нужно перебрать вершины и края списка adjacency_list BGL из нескольких потоков. Какой будет эффективный способ сделать это при условии, что граф большой (мьютекс..)?
Методы BGL не поддерживают повторные вызовы?
BGL в настоящее время не является потокобезопасным. Взгляните на MTGL, который предоставляет интерфейс, похожий на BGL, но предназначен для многопоточных платформ.
Пока вы не изменяете структуру графа, множественные одновременные чтения безопасны; обновления и записи свойств требуют блокировки. Страница, на которую была дана ссылка, посвящена алгоритмам, работающим параллельно, чего в настоящее время нет в простом BGL.