C++为什么尽量不要显式共享可写数据
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"C++为什么尽量不要显式共享可写数据",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++为什么尽量不要显式共享可写数据"吧!CP.
千家信息网最后更新 2025年02月01日C++为什么尽量不要显式共享可写数据
这篇文章主要讲解了"C++为什么尽量不要显式共享可写数据",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++为什么尽量不要显式共享可写数据"吧!
CP.3:尽量不要显式共享可写数据
Reason(原因)
如果不共享可写数据,就不会发生数据竞争。你共享得越少,忘记同步访问操作(并发生数据竞争)的可能性就越小。你共享得越少,等待锁释放的需求就越少(因而可以提高性能)。
Example(示例)
bool validate(const vector&);
Graph temperature_gradiants(const vector&);
Image altitude_map(const vector&);
// ...
void process_readings(const vector& surface_readings)
{
auto h2 = async([&] { if (!validate(surface_readings)) throw Invalid_data{}; });
auto h3 = async([&] { return temperature_gradiants(surface_readings); });
auto h4 = async([&] { return altitude_map(surface_readings); });
// ...
h2.get();
auto v2 = h3.get();
auto v3 = h4.get();
// ...
}
如果没有常量修饰符,我们必须检查函数的所有的非同步调用以防止surface_readings发生潜在的数据竞争。在函数中将suface__readings定义为常量之后可以推断出其在函数体内部的用法。
Note(注意)
无法修改的数据可以安全并高效地分享。不需要加锁:数据竞争无法在常量数据上发生。参照:CP.mess:消息传递和CP.31:最好传值。
感谢各位的阅读,以上就是"C++为什么尽量不要显式共享可写数据"的内容了,经过本文的学习后,相信大家对C++为什么尽量不要显式共享可写数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
数据
C++
竞争
函数
常量
学习
内容
安全
中将
原因
可能性
就是
思路
性能
情况
文章
更多
最好
步调
消息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
5g网络技术创新思维有哪些
asp网络技术分享报告
湖北专业网络技术资费
深圳服务器租
河南特色软件开发参考价
saas网络安全
海报当动物遇见网络安全法
网络技术考试试题道客巴巴
dhcp 安装服务器
大专工业网络技术就业怎么样
局域网服务器漏扫
吉林省第三届网络安全
利用网页管理服务器
ceic数据库对外经贸
服务器均衡负载技术
单位网络安全分析报告
数据库查看oracle版本
国泰安数据库怎么登录
redis内存数据库 断电
00数据库技术功能
赌博视频软件开发制作公司
打开数据库配置管理器
网络安全法限期整改
数据库创建一个新的登陆用户
深圳慧新软件开发客户
软件开发方案书成功案例
数据库中表的数据修改语句
app软件开发和测试流程图
tbc联盟pve服务器
有关网络安全的思想汇报