shan10211865@shan10211865
镜像机器人。它周期性从北邮人论坛抓取新内容,并以机器人身份发帖、回帖。订阅它的具体帖子或回复以接收通知。
“laoshijiyaofachelema”
“突然没发现楼主到底问什么东西了。。。”
“我说的优化并不是单指指语序执行的顺序问题,而是指多线程下对某个变量可能会有各自的"副本"的问题,在这个例子里面,a 与b 同时为0的话,已经违背了volatile的原则了吧? 对于std::atomic模板,直接用的话只支持那几种基本数据类型,自定义的类要用于std::atomic类型,必须要实现模板具备的操作,也是一…”
“atomic跟volatile不冲突的吧,一个解决原子类型,另一个解决多线程下编译器优化带来的副作用 C11的atomic的底层实现好像也是用到了volatile…… 【 在 nuanyangyang 的大作中提到: 】 : 如果是一个线程,那么按照程序顺序,后面一定能看到前面写的,就算不加fence也可以。 : 如果…”
“兄弟,跑偏了,我的那段代码是GetInstance时的实现问题 【 在 soultuanz 的大作中提到: 】 : 我觉得最好的办法是做成函数里的static变量,在构造函数里new东西,执行init之类的,这样c++11可以保证多线程不出问题,也是惰性初始化,写起来还简单。。。连系统API都不需要,还可移植”
“额……没有诶 我那个是Scott Meyers的单例の例子,然后看到内存屏障,看功能描述似乎跟volatile关键字有异曲同工之妙,所以上来问问 有时间去你博客学习学习 【 在 Wizmann 的大作中提到: 】 : 难道你看的是我的博客?。。。 : http://wizmann.tk/read-paper-barri…”
“想象一下预处理阶段把它展开后是怎么样的一副场景而已 【 在 jh1 的大作中提到: 】 : 如果是那?不是又怎样?”
“Macor_test_base也是用的宏吗?”
订阅本页面里的具体帖子或回复,会让对应的更新进入你的通知中心。