Использование std :: map & lt; Obj *, int & gt; в объектах TThread приводит к нарушениям доступа

Я пытаюсь распараллелить имитационную модель, используя TThreads. Каждый из объектов модели включает среди прочего std::map<obj*, int>, Модель работает нормально, пока работает только один поток. Если запускается второй поток, я получаю нарушение прав доступа на карте модели первого потока.

Чтобы проверить, действительно ли проблема в карте, я заменил ее на std::vector<pair<obj*, int> >, Это работает нормально, но намного медленнее, так как мне приходится перебирать весь Вектор каждый раз, когда я пытаюсь найти конкретный obj*,

Я знаю, что нет возможности зарезервировать память для карты, поэтому я не знаю, как работать с картой без нарушений доступа.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]