
简介
该用户还未填写简介
擅长的技术栈
未填写擅长的技术栈
可提供的服务
暂无可提供的服务
从零开始的多线程生活——02
但是,当一个线程执行每一步间隙的时候,都会触发cpu的随机调度,调度到另一个线程去执行同样的三步,我就举一种情况,假设t1你完成了第一步第二步,然后cpu调度到t2,t2去完成这三步,当t2把内存count加载到寄存器时,这是还没有加过的数据,显然t1已经完成自增了,所以这并不合理,而当这三步执行完t1再去把寄存器的值写入内存时写入的只是自增一次的结果,很显然这是错误的。这里t线程的逻辑我也就是进
从零开始的多线程生活
这是因为操作系统中,线程调度是随机的,也就是抢占式执行,多线程之间如何调度,按照什么顺序执行,这完全取决于操作系统,和程序员没什么关系,你即使是想修改也改不了,不过如果你为线程设置优先级,理论上倒是可以指定他们的调度顺序,但是操作系统也就是参考一下,并不一定会严格执行。我就拿一张桌子四个人的例子来说,其实上边是一种理想化的方式,有没有可能,有两个人都想吃同一只鸡,形成了一个竞争关系,产生了线程之间
到底了







