在深入理解volatile关键字的过程中,出现了一些之前没有了解到的知识点,而这些知识点有影响着我对volatile的认知,下面就对这些知识点做一些梳理 MESI是什么 为了解决速度不匹配问题,计算机中多处使用到了缓存。为了解决CPU和内存的速度不匹配问题,出现了高速缓存。在多核CPU的计算机中,每 ...
分类:
其他好文 时间:
2019-09-19 15:55:21
阅读次数:
80
1.CPU Cache模型 + 从内存中把数据读到Cache + 在Cache中更新数据 + 把Cache中数据更新到内存 cpu缓存一致性问题 MESI() + 读操作:不做任何事情,把Cache中的数据读到寄存器 + 写操作:发出信号通知其他的CPU将该变量的Cache line置为无效,其他的 ...
分类:
其他好文 时间:
2019-09-12 21:30:38
阅读次数:
85
支持虚拟货币支付的域名注册商 1 namecheap https://www.namecheap.com/ 美国 2013.3 2 monstermegs https://www.monstermegs.com/ 美国 2013.3 3 web4africa https://web4africa.n ...
分类:
其他好文 时间:
2019-09-08 09:42:45
阅读次数:
202
小程序语音转文字识别,注意采样率与编码码率限制,服务器转换录音文件为asr的格式。wx.uploadfile返回值是字符串,不是json,要手动转换。 ...
分类:
微信 时间:
2019-08-02 11:06:41
阅读次数:
216
Volatile关键字实现原理 1、认识volatile关键字 程序举例 用一个线程读数据,一个线程改数据 存在数据的不一致性 2、机器硬件CPU与JMM (1)CPU Cache模型 (2)CPU缓存的一致性问题 解决方案: 1)总线加锁(粒度太大) 2)MESI() Cache line CPU ...
分类:
其他好文 时间:
2019-03-19 21:30:25
阅读次数:
153
一 变量 二 过滤器 三 标签 四 分支 五 迭代器 六 自定义过滤器与标签 全系统过滤器(了解) ...
分类:
其他好文 时间:
2019-03-01 15:51:28
阅读次数:
317
前言 可谓是一入 并发 深似海,看得越多,发现自己懂的越少,总感觉自己只是了解了其冰山一角。但是在研究的过程中越来越感受到一些框架的设计之美,很细腻的赶脚。同时也让我get到了新的知识点。 CPU缓存 在正式进入正题之前,必须得先说说缓存这个概念。对于缓存这个概念相信大多数程序猿都不会很陌生,在大大 ...
分类:
其他好文 时间:
2019-01-09 01:25:47
阅读次数:
217
因项目需要,这一周弄了一下live555。需求:海思编码——>RTSP server,使用VLC可以访问,类似于网络摄像机的需求。看了一下,live555的架构太复杂了,半桶水的C++水平还真的需要花点时间才可以明白。由于live555的例子server使用的是读取文件,打包成RTSP包然后发送。例 ...
分类:
其他好文 时间:
2018-12-04 17:05:52
阅读次数:
568
目录: 并发基本概念、并发的优势与风险、CPU多级缓存、MESI、乱序执行优化、Java内存模型 并发基本概念: 并发:同时拥有两个或多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或换出内存,这些线程是同时"存在"的。每个线程都将处于执行过程中的某个状态,如果运行在多核处理器上,此时,程 ...
分类:
其他好文 时间:
2018-11-04 19:38:22
阅读次数:
203
CPU多级缓存为什么需要CPU缓存CPU的频率越来越快,主存越来越跟不上CPU的变化,这样伴随的问题就是处理器的时钟周期内,CPU需要常常等待主存,浪费资源。所以缓存的出现,是为了缓解CPU和内存之间的速度不匹配问题。一级缓存CPU核心与主存之间有一层高速缓存。如下图(1)所示,数据的读取与存储都经过高速缓存。主存和缓存都连接在系统总线上(Bus)。多级缓存CPU核心与主存之间有多级缓存。如下图(
分类:
编程语言 时间:
2018-10-09 00:35:00
阅读次数:
276