关于乱序 c++程序中,没有依赖关系的语句的执行顺序是无法预测的。 乱序的原因 编译器优化。编译器优化假设程序是单线程环境时,如果编译器出于某种原因会对程序执行顺序并且不会改变其结果,此时是可以乱序执行的。编译器一般不会将函数之后的指令移到函数前面,因为编译器一般不知道函数体内是否含有memory barrier 处理器优化。处理器允许指令乱序,这样避免指令等待资源而暂时hang住,处于闲置状态。eg. cache miss。如果当前指令cache miss,下一条命中,则可能会乱序执行。 存储系统。在每个cpu核中都存在一个store…

右值 右值定义 右值与左值其实并没有详细官方的定义,官方的其实是一个类似映射表(这个是左值,这个是右值)。但通常来说,下面这个图能覆盖大多数情况。 纯右值(pure right value) 对于大多数临时变量皆为右值。这里的临时变量是指,不能被程序员读写,不存在于内存,其可能只会在寄存器中存在数秒,或者直接被优化掉的变量。 literal (不含string literal): 42 true nullptr 返回值不是引用类型的函数…

cnn全称卷积神经网络(Convolutional Neural Networks),常用于图像分类,语音,机器翻译等。其中最为常见的还是图像分类。 LeNet 总结 各层主要作用 卷积层:提取特征 池化层:降低计算量 全连接:联系各个区域,在分类中结合softmax起到分类器的作用 AlexNet 2012 主要工作与改进点 引入ReLU激活函数: ReLU的全称是修正线性单元(Rectified Linear…

我曾多次幻想过在不同的地方嚎啕大哭,最后都是我一个人关了灯后蹲在床上小声哽咽。2020.6.3 凌晨3点40,  平时不到9点不起床的我,今天还是在父母的呼喊下惺忪醒来。“今天是外公入土的日子,我从北京回来就是为了这个事情”起床下楼,已有不少长辈坐在门前摆放的圆桌上,准备着相关事宜。一楼在昨天变成了外公最后一次睡在家里的房间。我不愿去看,无论是那漆黑的骨灰盒还是摆放在那之上的遗照。外公去世于2020年农历3月初8,距离我结束春假已有一个月时间,而距今已经过了2个月之久。尽管如此,在回来的路上我依然能对我还能见到外公遗体这件事深信不疑。这也许就是天真吧,这也怪何锐,在去年非拉着我在首都中心了解了一下水晶棺技术,我还以为我能够见到最后一面。…

工作以后单例确实经常用到,复习的时候再次翻开偶然翻到这个 代码来自陈硕的《Linux多线程服务器编程》, 其核心就是用了pthread_once template<typename T> class Singleton: boost::noncopyable { public: static T& instance() { pthread_once(&ponce_, &…