当前位置: 首页 > news >正文

网站开发洲际如何做小程序微信

网站开发洲际,如何做小程序微信,系统优化升级,西安做网站费用可怜的volatile。被误解到如此地步。它甚至不应该出现在本章中,因为它与并发程序设计毫无关系。但是在其他程序设计语言中(Java和C#),它还是会对并发程序设计有些用处。甚至在C++中,一些编译器也已经把volatile投入到染缸,使得它的语义显得可以用于并发软件中(但是仅可用…可怜的volatile。被误解到如此地步。它甚至不应该出现在本章中,因为它与并发程序设计毫无关系。但是在其他程序设计语言中(Java和C#),它还是会对并发程序设计有些用处。甚至在C++中,一些编译器也已经把volatile投入到染缸,使得它的语义显得可以用于并发软件中(但是仅可用于使用这些编译器进行编译之时)。 因此,除了消除环绕在它周围的混淆视听外,没有什么其他的理由值得在关于并发的一章中讨论volatile。 程序员有时会把volatile与绝对属于本章讨论范围的另一C++特性混淆,那就是std::atomic模板。该模板的实例(例如,std::atomicint,std::atomicbool和std::atomicWidget*等)提供的操作可以保证被其他线程视为原子的。一旦构造了一个std::atomic型别对象,针对它的操作就好像这些操作处于受互斥量保护的临界区域一样,但是实际上这些操作通常会使用特殊的机器指令来实现,这些指令比使用互斥量来的更加高效。 考虑以下应用了std::atomic的代码: std::atomicint ai(0); //将ai初始化为0 ai = 10; //将ai原子值设置为10 std::cout ai; //原子地读取ai的值 ++ai; //原子地将ai自增为11 --ai; //原子地将ai自减为10 在这些语句的执行期间,其他读取ai的线程可能只会看到它取值为0、10或11,而不可能有其他的取值(当然,前提假设这是修改ai值的唯一线程)。 此例在两方面值得注意。首先,在“std::cout ai;”这个语句中,ai是std::atomic这一事实只能保证ai的读取是原子操作。至于整个语句都以原子方式执行,则没有提供如此保证。在读取ai的值和调用operator 将其写入标准输出之间,另一个线程可能已经修改了ai的值。这对语句的行为没有影响,因为整型的operator 会使用按值传递的int型别的形参来输出(因此输出的值会使从ai读取的值),重点在于了解这个语句中具备原子性的部分仅在于ai的读取而不涉及其余更多部分。 此例子第二个值得注意的方面是最后两个语句的行为——ai的自增和自减,这两个都是读取-修改-写入(read-modify-write,RMW)操作,但皆以原子方式执行。这是std::atomic型别最棒的特性之一:一旦构造出std::atomic型别对象,其上所有的成员函数(包括那些包含RMW操作的成员函数)都保证被其他线程视为原子的。 volatile int vi(0); //将vi初始化为0 vi = 10; //将vi设置为10 std::cout vi; //读取vi的值 ++vi; //将vi自增为11 --vi; //将vi自减为10 在这段代码的执行期间,如果其他线程正在读取vi的值,它们可能会看到任何值,例如-12,68,4090727,任何值!这样的代码会出现未定义的行为,因为这些语句修改了vi,所以如果其他线程同时正在读取vi,就会出现在既非std::atomic,也非由互斥量保护的同时读写操作,这就是数据竞险的定义。 为了说明std::atomic型别对象和volatile的行为在多线程会有怎样的差异,这里举个具体例子,考虑两者由多个线程执行自增的简单计数器。二者都初始化为0:
http://www.w-s-a.com/news/414310/

相关文章:

  • dw怎么做秋季运动会网站九江集团网站建设
  • 响应式网站建设服务商wordpress 非小工具形式 微博秀
  • 网站安全检测漏洞扫描风险等级分布建设一个网站步骤
  • 摄影网站的意义开发企业小程序公司
  • 龙岩网站设计招聘信息网上免费logo设计
  • 高端定制网站开发建站教程详解网站共享备案可以申请支付接口
  • 做房产网站接不到电话企业推广宣传方式
  • 网站建设费用不用摊销下一页p30
  • 北京 工业网站建设公司国外服务器公司有哪些
  • 怎样局域网站建设盈利网站
  • 公司做网站广告语济南建网站价格消费品展
  • 建德网站网站建设规划设计书
  • 谷歌网站流量分析wordpress置顶浮标
  • 江苏新宁建设集团网站网络规划设计师2023论文
  • 合作建站协议python wordpress采集器
  • 集团网站网页模板网站建设图片大全
  • 举报非法网站要求做笔录wordpress怎么插视频
  • 网站服务器防护如何搭建网站平台
  • 设计师接私活的网站如何做网站的搜索栏
  • ps做图下载网站网站子目录设计
  • 厦门网站制作策划高中生做网站网页
  • 高端品牌网站建设在哪济南兴田德润优惠吗专业定制网站开发公司
  • 怎么做网站卖东西汽车网站排行榜前十名
  • 网站关键字没有排名只有单页面的网站怎么做seo
  • 网站流量盈利模式宝塔没有域名直接做网站怎么弄
  • 淡蓝色网站qq推广中心
  • 设计网站价格餐饮吸引客流的活动方案
  • 手机网站建设电话百度搜索量
  • 条件查询 php网站源码中国白云手机网站建设
  • 网上注册公司流程及材料班级优化大师免费下载电脑版