前言
? 經常在網上看到一些博客,介紹高并發,由于我們在實際開發程序遇到高并發的場景非常少,一直覺得很高大上, 那我們通過CPU,作業系統,和JDK 等方面揭開高并發的''神秘面紗'',
1: 什么時候發生并發
? 在計算機中,CPU執行程式指令的,那我們看下下面這個圖

思考: 當兩個程式在不同的CPU種執行的時候,會產生并發行為嗎?
答案: 不會產生,因為兩個CPU執行的不同程式指令,不存在資料共享,不會產生并發,
如果是下面這張圖呢?

當兩個CPU 同時執行一段指令的時候,這個時候CPU之間需要進行資料讀寫,這個時候就會產生并發問題,
Tip 那我們開始思考一個問題,在我們的應用系統中并發會產生在哪些位置?
2: 并發發生的位置

上圖全面描述了整個指令會發生并發的地方,并且描述了解決并發的方案,由于CPU 和 其他OS 都已經解決了原子性問題,其實我們只需要關心使用執行緒程序中并發的問題,
3: 解決并發的方案
3.1 執行緒級別

Tip : 這里只是簡單的描述一下并發的解決方案,后面的文章還會介紹JUC的整體結構以及詳細的并發設計,請關注后面的文章
3.2 CPU級別

Tip : 這里只是簡單的描述一下CPU級別的并發解決方案 后面會有一篇文章主要介紹CPU級別是怎么解決并發的,
本文來自博客園,作者:笨笨的二黃子,轉載請注明原文鏈接:https://www.cnblogs.com/zwhdd/p/17158103.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/545116.html
標籤:其他
