cpp
文章平均质量分 62
tpoy0099
这个作者很懒,什么都没留下…
展开
-
CPP中解决伪共享
当使用颗粒度很小的atomic来代替锁时,由于cpu高速缓存是成块顺序的对内存进行预读,从而在更改atomic时导致其他核心缓存进行无必要的刷新降低了性能原创 2015-11-20 09:56:53 · 807 阅读 · 0 评论 -
CPP11中的atomic类以及memory_order
Atomicc++11中新引入了atomic类型,即原子量,定义在头文件”atomic”中. 其定义的atomic operation,是一种无法再进行细分的操作,用于解决并发操作中数据竞争的问题.观察一个atomic变量时,观察者只会得到变量的原值或变量被他人修改后的新值,而不会观察到一个修改中的状态.例如,现有一个变量值为10,需要将其修改为01,写操作每次修改一位数字,需要进行两次操作(先把原创 2015-11-23 10:30:24 · 3462 阅读 · 0 评论 -
CPP无符号整型减法溢出
CPP无符号整型加法溢出; CPU减法运算原创 2017-03-23 16:06:02 · 2108 阅读 · 0 评论 -
cpp 中的 #, ##, #@
#表示:对应变量字符串化 ##表示:把宏参数名与宏定义代码序列中的标识符连接在一起,形成一个新的标识符连接符#@:它将单字符标记符变换为单字符,即加单引号。例如:#define B(x) #@x 则B(a)即'a',B(1)即'1',但B(abc)却不甚有效。 #include <stdio.h> #define trace(x, format) printf(#x " =转载 2017-08-14 15:35:57 · 1472 阅读 · 0 评论