社区
工具平台和程序库
帖子详情
c++ stl list 是否需要互斥保护
xianjian_x
2016-07-01 11:48:18
想问下,如果一个,stl有没有提供互斥保护的功能 ,如果某个线程正在
删除某一个list元素,而另外一个线程 往list 添加元素会不会导致不可预知错误?
实际多线程编程中有没有必要 加入互斥保护?
请各位高手回答。
...全文
322
6
打赏
收藏
c++ stl list 是否需要互斥保护
想问下,如果一个,stl有没有提供互斥保护的功能 ,如果某个线程正在 删除某一个list元素,而另外一个线程 往list 添加元素会不会导致不可预知错误? 实际多线程编程中有没有必要 加入互斥保护? 请各位高手回答。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
经典.uml
6.
c++
stl
:这可能是
C++
STL
的额外资料,包括使用示例、技巧或其他相关资源。 综合这些信息,我们可以深入学习线程的创建、管理和同步,了解各种排序算法的实现和应用,掌握操作系统的原理以及
C++
STL
的使用,同时...
C++
STL
教程:Boost的介绍
STL
提供了如vector、
list
、map等常用数据结构,以及sort、find、transform等通用算法,使得程序员可以专注于问题解决,而不是基础数据操作。 然而,
STL
的标准库虽然功能强大,但并不涵盖所有可能的需求。此时,...
基于
stl
共享内存,可以像使用
STL
容器一样使用共享内存
在标题和描述中提到的"基于
stl
共享内存,可以像使用
STL
容器一样使用共享内存",指的是通过设计一个自定义的内存分配器(Allocator),使得
STL
容器如vector、
list
、map等能够在共享内存上进行操作。这种方式的优势...
STL
规范代码示范
必要时,使用
互斥
锁或其他同步机制
保护
共享的
STL
容器。 8. 了解迭代器失效:在对容器进行操作(如插入、删除元素)后,迭代器可能会失效,确保代码能正确处理这种情况。 这个"
STL
规范代码示范"可能包含了一些具体...
Visual
C++
编程之道 光盘 代码
C++
5. **
STL
(Standard Template Library)**:
STL
是
C++
的标准模板库,包含容器(如vector、
list
、map)、迭代器、算法和函数对象等,是高效编程的重要工具。 6. **异常处理**:
C++
的异常处理机制允许在程序运行时捕获...
工具平台和程序库
24,857
社区成员
27,330
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章