STL中的list线程安全问题
我有两个线程 一个在list的尾端添加数据 一个在头段 取并删除数据 这样需要加锁么?
[解决办法]
当然要,如果原来的list为空,其中一个线程添加节点,还没加完,另一个线程就来删除,那不完蛋了么。
[解决办法]
list的内部实现里,实际上是一个循环双向链表,用一个节点代表链表的结束,因此只要是两端的操作不管是插入还是删除都会改变这个节点
发布时间: 2013-05-02 09:39:29 作者: rapoo
STL中的list线程安全问题
我有两个线程 一个在list的尾端添加数据 一个在头段 取并删除数据 这样需要加锁么?
[解决办法]
当然要,如果原来的list为空,其中一个线程添加节点,还没加完,另一个线程就来删除,那不完蛋了么。
[解决办法]
list的内部实现里,实际上是一个循环双向链表,用一个节点代表链表的结束,因此只要是两端的操作不管是插入还是删除都会改变这个节点