如題,多執行緒本質上是對cpu時間片合理調度分配實作看上去的並發,但是實際上一個時刻還是只有一條指令執行,為什麼會出現多個執行緒存取一個資源的情況?
认证0级讲师
因為對資源的一個操作可能是由多條指令組成,只有當這多條指令執行完了,對資源的操作才會完成,如果你還沒把這些指令執行完,就切換至其他線程,宏觀上就會出現多個執行緒存取同一個資源的情況
而且,誰說實際上一個時刻還是只有一條指令執行的?誰說多線程只是看上去的並發?難道閣下不知道有多核CPU的存在!!!!!!
多核CPU
因為有多核cpu
因為對資源的一個操作可能是由多條指令組成,只有當這多條指令執行完了,對資源的操作才會完成,如果你還沒把這些指令執行完,就切換至其他線程,宏觀上就會出現多個執行緒存取同一個資源的情況
而且,誰說實際上一個時刻還是只有一條指令執行的?誰說多線程只是看上去的並發?難道閣下不知道有
多核CPU
的存在!!!!!!因為有多核cpu