C++怎么在线程之间传递少量数据

本篇内容主要讲解“C++怎么在线程之间传递少量数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么在线程之间传递少量数据”吧!

专注于为中小企业提供网站建设、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业白云免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

CP.31:在线程之间以传值方式传递少量数据,而不是传递引用或指针

Reason(原因)

以拷贝形式提供的少量数据的复制和访问成本会低于使用某种锁定机制的共享。拷贝操作天然保证所有权的唯一性(简化代码),避免可能出现的数据竞争。

Note(注意)

Defining "small amount" precisely is impossible.

不可能确切定义什么是“少量”。

Example(示例)

string modify1(string);
void modify2(string&);

void fct(string& s)
{
   auto res = async(modify1, s);
   async(modify2, s);
}

调用modify1的过程包含两次拷贝string的值;调用modify2的过程就不会。另一方面,(多任务环境下,译者注)modify1的实现和单线程代码完全相同,而modify2会需要某种形式的互斥锁以避免数据竞争。如果是短string(比如说10个字符),调用modify1的过程会出奇地快,基本上就是线程切换的成本。如果是长string(例如1,000,000个字符),拷贝两次可能不是一个好主意。

注意参数处理过程没有为异步操作做任何事。这个判断同样适用于考虑使用消息还是共享内存的情况。

到此,相信大家对“C++怎么在线程之间传递少量数据”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


网页题目:C++怎么在线程之间传递少量数据
本文路径:http://bzwzjz.com/article/ggcgid.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都响应式网站建设公司 成都网站建设 网站制作报价 成都定制网站建设 成都营销网站建设 成都网站建设 广安网站设计 成都企业网站建设 企业网站设计 重庆网站制作 手机网站制作 移动手机网站制作 成都定制网站建设 成都网站制作 成都品牌网站建设 网站设计公司 网站制作 高端网站设计 H5网站制作 重庆外贸网站建设 成都网站设计 企业网站建设公司