文章詳情頁
java - 多線程為什么會訪問同一個資源
問題描述
如題,多線程本質上是對cpu時間片合理調度分配實現看上去的并發,但是實際上一個時刻還是只有一條指令執行,為什么會出現多個線程訪問一個資源的情況?
問題解答
回答1:因為對資源的一個操作可能是由多條指令組成,只有當這多條指令執行完了,對資源的操作才會完成,如果你還沒把這些指令執行完,就切換至其他線程,宏觀上就會出現多個線程訪問同一個資源的情況
而且,誰說實際上一個時刻還是只有一條指令執行的?誰說多線程只是看上去的并發?難道閣下不知道有多核CPU的存在!!!!!!
回答2:因為有多核cpu
標簽:
java
相關文章:
1. docker-machine添加一個已有的docker主機問題2. golang - 用IDE看docker源碼時的小問題3. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?4. docker網絡端口映射,沒有方便點的操作方法么?5. docker - 如何修改運行中容器的配置6. debian - docker依賴的aufs-tools源碼哪里可以找到啊?7. docker綁定了nginx端口 外部訪問不到8. docker 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????9. docker-compose中volumes的問題10. node.js - nodejs debug問題
排行榜
