并发编程
文章平均质量分 75
杨·戬
孤舟蓑笠翁 独钓寒江雪
展开
-
java并发编程之基础与原理2
假设处理器A,B和C同时向总线发起总线事务,这时总线仲裁(Bus Arbitration)会对竞。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中。争做出裁决,这里假设总线在仲裁后判定处理器A在竞争中获胜(总线仲裁会确保所有处理器都。此时处理器A继续它的总线事务,而其他两个处理器则要等待处理器A的。是读事务还是写事务),处理器D向总线发起了总线事务,此时处理器D的请求会被总线禁止。总线的这种工作机制可以把所有处理器对内存的访问以串行化的方式来执行。原创 2023-11-18 23:30:58 · 198 阅读 · 0 评论 -
java并发编程之基础与原理1
当一个线程修改了变量的值后,会将新值同步回主内存,而其他线程在读取这个变量的值之前,会先从主内存中刷新(获取)变量的最新值,而不是直接从自己的工作内存中读取。下面讲一个Thread.yield(),他会释放当前线程的时间片,让当前线程进入一个可运行状态,并且保存数据,下次这个线程在次执行的时候,如果发现主内存已经修改了某个共享变量,就会从主内存去获取这个共享变量的值。,这个变量实际上在计算机内存中有两个位置保存着它的值:一个是主内存(主存,RAM),另一个是线程的工作内存(缓存,CPU缓存)。原创 2023-10-19 21:57:12 · 190 阅读 · 0 评论