社区
工具平台和程序库
帖子详情
c++ stl list 是否需要互斥保护
xianjian_x
2016-07-01 11:48:18
想问下,如果一个,stl有没有提供互斥保护的功能 ,如果某个线程正在
删除某一个list元素,而另外一个线程 往list 添加元素会不会导致不可预知错误?
实际多线程编程中有没有必要 加入互斥保护?
请各位高手回答。
...全文
250
6
打赏
收藏
c++ stl list 是否需要互斥保护
想问下,如果一个,stl有没有提供互斥保护的功能 ,如果某个线程正在 删除某一个list元素,而另外一个线程 往list 添加元素会不会导致不可预知错误? 实际多线程编程中有没有必要 加入互斥保护? 请各位高手回答。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
青年街5号
2016-07-04
打赏
举报
回复
Effective Stl 里讲了
encoderlee
2016-07-04
打赏
举报
回复
只要有写入或修改操作,就要加锁。 多个线程只进行读操作,不需要加锁。
sdghchj
2016-07-01
打赏
举报
回复
肯定需要。 一般来说,任何数据结构都不会考虑内部加锁的,即便有加锁也会用编译宏控制住,因为库提供者不会知道你到底是在单线程还是多线程下使用,如果用户仅仅是在单线程里使用,加锁后效率会低点。
小灸舞
2016-07-01
打赏
举报
回复
需要
赵4老师
2016-07-01
打赏
举报
回复
要
paschen
2016-07-01
打赏
举报
回复
必须要
C++
STL
函数应用
C++
STL
函数算法精讲+刷题实战,包括16个常用
STL
函数,vector/stack/queue/deque/priority_queue、
list
/bitset/set/multiset/map/multimap等函数应用和刷题实战。
C++
多线程学习08 使用
list
和
互斥
锁进行线程通信
01无限循环中要加入sleep,不然可能入口函数可能一直占着CPU,(两个while循环中间隔很短,在这个间隔中CPU不一定能调度去执行其他线程,在这里的表现就是一直运行接收消息队列,发送消息队列一直获取不到锁,消息队列都空了还在接收,这样当然是不行的)stop()将退出标志位置为true,具体的线程类的线程入口会在while循环中通过该标志位来判断
是否
继续循环,然后调用wait等待当前线程退出。继承自抽象线程类,又定义了一个sendmsg函数,其他线程通过调用该函数来给该具体线程类传递消息(线程通信)..
11、
C++
进阶编程
STL
3 - 关联容器 map的基本使用 三、仿函数(functor) 仿函数作用:仿函数一般不会单独使用,主要是为了搭配
STL
算法使用 为什么不使用函数指针:函数指针不能满足
STL
对抽象性的要求,不能满足软件积木的要求,无法和
STL
其他组件搭配 仿函数本质:本质就是类重载了一operator(),创建一个行为类似函数的对象 1、仿函数实现:
C++
方式 2、仿函数实现:
C++
泛型 3、仿函数实现:
C++
仿函数 4、仿函数实现:
C++
仿函数模板 四、算法(algorithm) S
C++
STL
插入和删除的起始下标都是从0开始。
突破编程_
C++
_
STL
教程(
list
的实战应用)
C++
STL
教程:
list
的高级特性
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章