[转载] Memory model synchronization modes

作者:sryan 更新时间:2020-07-16 18:18 分类:C++/C/汇编

This is the area most people find confusing when looking at the memory model. Atomic variables are p...

点击数:720 回复数:0

再谈Memory order

作者:sryan 更新时间:2020-07-16 17:39 分类:C++/C/汇编

最近一直在研究RocksDB的源码,非常多的原子操作涉及到内存序,之前由于用原子操作常常只是用作计数,在这种简单的场景下其实各个内存序是没有差异的。但是为何要有各种内存序呢? 我们首先来看下定义的内存...

点击数:664 回复数:0

使用memory_order_relaxed时候正好切换CPU核心调度,是否会产生脏读?

作者:sryan 更新时间:2020-06-18 14:29 分类:C++/C/汇编

之前我曾写过关于MESI的一篇文章,大体了解了下CPU在多核心下如何同步不同Cache中的数据的,尽可能在一些脏读的情况下尽量的提高性能,其中最主要的两个概念分别为 Store buffer 与 In...

点击数:1333 回复数:0

Makefile笔记 (1)

作者:sryan 更新时间:2019-06-21 16:21 分类:C++/C/汇编

Windows上vs开发惯了,突然迁移到linux下开发,Makefile得自己写,所以做下笔记。 基本规则 target: prerequisites ... command ... ... tar...

点击数:845 回复数:0

shared_ptr和weak_ptr

作者:sryan 更新时间:2018-05-18 12:10 分类:C++/C/汇编

shared_ptr和weak_ptr 最近在读某书,发现自己有点儿落伍,c++的标准太老旧,以前各项目的代码基本都是裸指针。裸指针带来的很多的问题,也相当的头疼。 近两年主要在写golang,gol...

点击数:2532 回复数:0

pthread_cond_wait与pthread_cond_signal简单笔记

作者:sryan 更新时间:2018-01-25 17:28 分类:C++/C/汇编

pthread_cond_wait与pthread_cond_signal简单笔记 前些日子很忙,昨天把手上的工作做的差不多后,就花了点时间充充电。 线程同步,临界区之类的就不讲了,那是比较简单的线程...

点击数:1269 回复数:0

template中传入具体类型而不是typename的用法

作者:sryan 更新时间:2016-12-23 18:29 分类:C++/C/汇编

template中传入具体类型而不是typename的用法 最常用的template,往往是像以下类型的: template <typename T> void Func(T a) ......

点击数:1447 回复数:0

C++11中的右值引用

作者:sryan 更新时间:2016-12-23 17:36 分类:C++/C/汇编

C++11中的右值引用 C++11中新的标准比较多,牵扯到的概念也比较多,有些一开始听上去好玄乎,但是了解了它的产生是有道理的后就能比较好的理解了。 首先,右值引用这个概念感觉很难理解,它和引用有啥关...

点击数:1232 回复数:0

简析令人头大的定义 void (*(*f[])())()

作者:sryan 更新时间:2016-10-31 14:33 分类:C++/C/汇编

( f[])())()" class="reference-link"> 简析令人头大的定义 void ( ( f[])())() 解析 在v2ex闲逛发现有人在谈怎么学习c语言,有人推荐tcpl,然...

点击数:1211 回复数:0

使用宏来直接获取行号(__LINE__)的字符串

作者:sryan 更新时间:2016-08-19 20:23 分类:C++/C/汇编

使用宏的方式来格式化行号 我们已经知道,我们可以使用 __LINE__ 获得当前的行号 __FILE__ 获得当前的文件名 __FUNCTION__ 获得当前的函数名 这些在打印日志的时候十分常用,所...

点击数:1395 回复数:0