I've never had problems with using vectors or iterators inside of threads. I actually commonly use STL components for queues when I have to implement worker threads for a factory. Is the vector accessed by more than one thread? If so, try protecting it with a mutex. If that works then you can try to isolate the problem.