摘要:
首先来张图,一张 cpu的简图,仅从个人理解角度理解画的 大体 解释下这张图 这是 一张 i5的简图i5 大家都知道 是双核四线程,(超线程技术)l1,l2,l3是 1,2,3级缓存。 Cpu工作:每次计算任务 cpu 都去找l1,如果l1没有就去找l2,依次查找,然后依次将数据从内存加载l3,l2,l1 然后加载到 寄存器操作。 现在引入 一个问题 a+=1; 怎么执行的 首先 a+=1 是 分成 以下几部执行的内存中找到a在寄存器中 a+1把结果写回内存中 对应的 汇编代码 不写了→_→(我忘了) 问题: 如果 a=0,2个线程 同时执行这端代码,结果是1还是 2呢?看图 ... 阅读全文