如题,多线程本质上是对cpu时间片合理调度分配实现看上去的并发,但是实际上一个时刻还是只有一条指令执行,为什么会出现多个线程访问一个资源的情况?
认证0级讲师
因为对资源的一个操作可能是由多条指令组成,只有当这多条指令执行完了,对资源的操作才会完成,如果你还没把这些指令执行完,就切换至其他线程,宏观上就会出现多个线程访问同一个资源的情况
而且,谁说实际上一个时刻还是只有一条指令执行的?谁说多线程只是看上去的并发?难道阁下不知道有多核CPU的存在!!!!!!
多核CPU
因为有多核cpu
因为对资源的一个操作可能是由多条指令组成,只有当这多条指令执行完了,对资源的操作才会完成,如果你还没把这些指令执行完,就切换至其他线程,宏观上就会出现多个线程访问同一个资源的情况
而且,谁说实际上一个时刻还是只有一条指令执行的?谁说多线程只是看上去的并发?难道阁下不知道有
多核CPU
的存在!!!!!!因为有多核cpu