搜索

首页  >  问答  >  正文

java - 多线程为什么会访问同一个资源

如题,多线程本质上是对cpu时间片合理调度分配实现看上去的并发,但是实际上一个时刻还是只有一条指令执行,为什么会出现多个线程访问一个资源的情况?

PHP中文网PHP中文网2729 天前1055

全部回复(2)我来回复

  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:29:45

    因为对资源的一个操作可能是由多条指令组成,只有当这多条指令执行完了,对资源的操作才会完成,如果你还没把这些指令执行完,就切换至其他线程,宏观上就会出现多个线程访问同一个资源的情况

    而且,谁说实际上一个时刻还是只有一条指令执行的?谁说多线程只是看上去的并发?难道阁下不知道有多核CPU的存在!!!!!!

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-12 09:29:45

    因为有多核cpu

    回复
    0
  • 取消回复