Проблема параллельного чтения BGL

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

Методы BGL не поддерживают повторные вызовы?


person rambo    schedule 04.10.2010    source источник


Ответы (2)


BGL в настоящее время не является потокобезопасным. Взгляните на MTGL, который предоставляет интерфейс, похожий на BGL, но предназначен для многопоточных платформ.

person spenthil    schedule 19.10.2010

Пока вы не изменяете структуру графа, множественные одновременные чтения безопасны; обновления и записи свойств требуют блокировки. Страница, на которую была дана ссылка, посвящена алгоритмам, работающим параллельно, чего в настоящее время нет в простом BGL.

person Jeremiah Willcock    schedule 21.01.2011