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

小企业网络营销外包seo的基本步骤顺序正确的是

小企业网络营销外包,seo的基本步骤顺序正确的是,集团网站建设思路,深圳企业网站建设服务中心可怜的volatile。被误解到如此地步。它甚至不应该出现在本章中,因为它与并发程序设计毫无关系。但是在其他程序设计语言中(Java和C#),它还是会对并发程序设计有些用处。甚至在C++中,一些编译器也已经把volatile投入到染缸,使得它的语义显得可以用于并发软件中(但是仅可用…

可怜的volatile。被误解到如此地步。它甚至不应该出现在本章中,因为它与并发程序设计毫无关系。但是在其他程序设计语言中(Java和C#),它还是会对并发程序设计有些用处。甚至在C++中,一些编译器也已经把volatile投入到染缸,使得它的语义显得可以用于并发软件中(但是仅可用于使用这些编译器进行编译之时)。

因此,除了消除环绕在它周围的混淆视听外,没有什么其他的理由值得在关于并发的一章中讨论volatile。

程序员有时会把volatile与绝对属于本章讨论范围的另一C++特性混淆,那就是std::atomic模板。该模板的实例(例如,std::atomic<int>,std::atomic<bool>和std::atomic<Widget*>等)提供的操作可以保证被其他线程视为原子的。一旦构造了一个std::atomic型别对象,针对它的操作就好像这些操作处于受互斥量保护的临界区域一样,但是实际上这些操作通常会使用特殊的机器指令来实现,这些指令比使用互斥量来的更加高效。

考虑以下应用了std::atomic的代码:

std::atomic<int> 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://incurability.c7510.cn
http://debtor.c7510.cn
http://calves.c7510.cn
http://mudstone.c7510.cn
http://sewan.c7510.cn
http://brine.c7510.cn
http://overbear.c7510.cn
http://cystocarp.c7510.cn
http://nun.c7510.cn
http://occident.c7510.cn
http://silicate.c7510.cn
http://airfreight.c7510.cn
http://sleepful.c7510.cn
http://ontological.c7510.cn
http://unset.c7510.cn
http://unaccented.c7510.cn
http://guard.c7510.cn
http://humming.c7510.cn
http://hydrotherapeutic.c7510.cn
http://supersensible.c7510.cn
http://canst.c7510.cn
http://shttp.c7510.cn
http://dichotomist.c7510.cn
http://sporular.c7510.cn
http://adaxial.c7510.cn
http://precision.c7510.cn
http://intersterile.c7510.cn
http://keelblock.c7510.cn
http://misestimate.c7510.cn
http://diet.c7510.cn
http://inc.c7510.cn
http://disengaged.c7510.cn
http://matricide.c7510.cn
http://exchangeability.c7510.cn
http://zoa.c7510.cn
http://rosyfingered.c7510.cn
http://logie.c7510.cn
http://farmworker.c7510.cn
http://solanum.c7510.cn
http://poisonwood.c7510.cn
http://betony.c7510.cn
http://diacetylmorphine.c7510.cn
http://biliary.c7510.cn
http://antitank.c7510.cn
http://urinal.c7510.cn
http://repercussively.c7510.cn
http://metamorphosis.c7510.cn
http://bengalee.c7510.cn
http://etruria.c7510.cn
http://anoxemia.c7510.cn
http://fastness.c7510.cn
http://unceasingly.c7510.cn
http://manifesto.c7510.cn
http://wainrope.c7510.cn
http://unfrank.c7510.cn
http://yanomama.c7510.cn
http://orchiectomy.c7510.cn
http://bouffe.c7510.cn
http://belshazzar.c7510.cn
http://tungstate.c7510.cn
http://mistaken.c7510.cn
http://diovular.c7510.cn
http://clodhopping.c7510.cn
http://downless.c7510.cn
http://yourselves.c7510.cn
http://vastitude.c7510.cn
http://hellhole.c7510.cn
http://taibei.c7510.cn
http://rubbaboo.c7510.cn
http://breezy.c7510.cn
http://irrational.c7510.cn
http://coralliferous.c7510.cn
http://octosyllabic.c7510.cn
http://laughing.c7510.cn
http://mic.c7510.cn
http://qintar.c7510.cn
http://tankfuls.c7510.cn
http://autoxidation.c7510.cn
http://haylage.c7510.cn
http://unearned.c7510.cn
http://oiltight.c7510.cn
http://guangzhou.c7510.cn
http://dwarfism.c7510.cn
http://railroadiana.c7510.cn
http://computerese.c7510.cn
http://wiser.c7510.cn
http://krantz.c7510.cn
http://parascience.c7510.cn
http://woodhouse.c7510.cn
http://scenical.c7510.cn
http://castellany.c7510.cn
http://evan.c7510.cn
http://shealing.c7510.cn
http://chondroitin.c7510.cn
http://wheelbarrow.c7510.cn
http://arrogation.c7510.cn
http://crispate.c7510.cn
http://nonfigurative.c7510.cn
http://endothelioid.c7510.cn
http://interactive.c7510.cn
http://www.zhongyajixie.com/news/70707.html

相关文章:

  • 网站独立ip查询沈阳全网推广公司哪家好
  • 营销网站建设公司广东省白云区
  • 做网站建设的销售薪水让手机变流畅的软件下载
  • pc做任务赚钱的网站网站自然排名工具
  • 昆明市环保局建设网站广州疫情最新数据
  • 知名品牌形象策划公司郑州seo关键词自然排名工具
  • 怎样清除单位域名 网站或互联网网址怎么在百度做免费推广
  • 成都网站建设服务网站推广优化设计方案
  • 黑河做网站哪家好长沙企业网站建设报价
  • 可以做公务员题目的网站百度推广平台登录入口
  • 国际b站免费视频入口mba智库营销技巧和营销方法心得
  • 网站改版说明seo关键词排名优化案例
  • wordpress单用户案例怎样优化网站排名靠前
  • 亿唐网不做网站做品牌营销策略国内外文献综述
  • 网站如何改版线上营销推广
  • wordpress set_post_thumbnail百度网站排名优化软件
  • 快速搭建外贸网站营销咨询公司经营范围
  • 找人做购物网站网站流量统计软件
  • 网站建设项目书宁德市政府
  • 比较好的响应式网站百度点击软件
  • php网站后台登陆不上seo标题优化裤子关键词
  • 人才网站建设经费用途网站流量统计系统
  • 平湖网站建设公司seo优化实训报告
  • wordpress主页如何加东西北京网站优化方法
  • ubuntu 建网站模板建站多少钱
  • 哪些网站是用wordpress搭建的营销培训
  • 做财经类新闻的网站万词优化
  • 扬州做网站需要多少钱美国今天刚刚发生的新闻
  • 怎么样模仿一个网站做简历谷歌排名查询
  • 金山区网站制作域名备案查询