A>В МСДНе не понятно написано Класс или шаблон, аналогичный std::vector по интерфейсу, сделать "потокобезопасным" сам по себе невозможно по принципиальным соображениям. Например:
Вне зависимости от степени "потокобезопасности" std::vector, без дополнительной синхронизации, функция f не будет "потокобезопасной", если есть хотя бы один поток, который может модифицировать v одновременно с выполнением f. В самом деле: если после получения v.size() другой поток, например, уменьшит размер вектора, то произойдет обращение к "чужой" памяти. Никак, кроме "нормальной", внешней по отношению к std::vector, синхронизации, это не "лечится". -- Павел Кузнецов MetaCommunications Engineering http://www.meta-comm.com/engineering/ |