关于STL容器的多线程支持有关问题

关于STL容器的多线程支持问题
假设有一个链表:
一共有:
A-B-C-D-E-F 六个元素
在多线程系统当中,一共有两个线程:
线程一、线程二;

线程一:
list<x>::iterator iter 
iter=B;

这时候,线程一被线程二打断:
list::erase(B);
......
当线程一重新执行时
*iter; //重新访问迭代器

这样的操作会使系统崩溃吗?

如果会的话,在多线程的情况下怎么防止呢?

------解决方案--------------------
1不能使系统崩溃,但是能使你程序崩溃.
防止不会,,感觉还是不用来的好.
或者,只要是 一个线程在执行与这个list相关的操作之前,就lock,操作完了再unlock.
这样就不会发生这种情况了.