距开课0天0时0分-10386277秒
小皮2017-06-12 09:27:45 0 2 425
[Java讨论组]举报回复话题 ↕
如题,多线程本质上是对cpu时间片合理调度分配实现看上去的并发,但是实际上一个时刻还是只有一条指令执行,为什么会出现多个线程访问一个资源的情况?
2
0
分享
扔个三星炸死你 2017-06-12 09:29:452楼
因为对资源的一个操作可能是由多条指令组成,只有当这多条指令执行完了,对资源的操作才会完成,如果你还没把这些指令执行完,就切换至其他线程,宏观上就会出现多个线程访问同一个资源的情况
而且,谁说实际上一个时刻还是只有一条指令执行的?谁说多线程只是看上去的并发?难道阁下不知道有多核CPU的存在!!!!!!
多核CPU
赞 +0添加回复
淡淡烟草味 2017-06-12 09:29:451楼
因为有多核cpu
扔个三星炸死你 2017-06-12 09:29:452楼
因为对资源的一个操作可能是由多条指令组成,只有当这多条指令执行完了,对资源的操作才会完成,如果你还没把这些指令执行完,就切换至其他线程,宏观上就会出现多个线程访问同一个资源的情况
而且,谁说实际上一个时刻还是只有一条指令执行的?谁说多线程只是看上去的并发?难道阁下不知道有
多核CPU
的存在!!!!!! 赞 +0添加回复
淡淡烟草味 2017-06-12 09:29:451楼
因为有多核cpu
赞 +0添加回复