<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ### **1.1:進程和線程說明** **什么是進程?** 1. **進程就是程序程序在操作系統中的一次執行過程,是系統進行資源分配和調度的基本單位**【如圖下】 ![](https://img.kancloud.cn/4d/8b/4d8ba15cf9aee610221a4b49833e9154_935x599.png) <br> <br> **什么是線程?** <br> 2. **線程是進程的一個執行實例,是程序執行的最小單元,它是比進程更小的能獨立運行的基本單位**。【一個進程下面可以有多個線程,每一個線程都是獨立的,占資源比例相對較小,例如:在App Store下載多個軟件,但是后臺只運行著一個App Store】 * 一個進程可以創建核銷毀多個線程,同一個進程中的多個線程可以并發執行。 * **一個程序至少有一個進程,一個進程至少有一個線程** <br> <br> ### **1.2:進程和線程的關系圖:** ![](https://img.kancloud.cn/57/b6/57b633b3bd78b5a38c1de0bdaff3d4c5_1016x720.png) <br> <br> ### **1.3:Golang并發的特點** 多線程程序在**單核**上運行,就是**并發** * [ ] 多個任務作用在一個CPU * [ ] 從微觀的角度看,在一個時間點上,其實只有一個任務在執行 <br> <br> ### **1.4:Golang并行的特點** 多線程程序在**多核**上運行,就是**并發** * [ ] 多個任務作用在一個CPU * [ ] 從微觀的角度看,在一個時間點上,其實有多個任務在同事執行 * [ ] 這樣看來并行的速度快 ![](https://img.kancloud.cn/76/8e/768e1902a795dec931a902f4ef3deeaf_1030x720.png) <br> <br> **并發**:因為是在一個cpu上,比如有10個線程,每個線程執行10毫秒(進行輪詢操作),從人的角度看,好像這10個線程都在運行,但是從微觀上看,在某一個時間點看,其實只有一個線程在執行,這就是并發。 **并行**:因為是在多個cpu.上(比如有10個cpu),比如有10個線程,每個線程執行10毫秒(各自在不同cpu上執行),從人的角度看,這10個線程都在運行,但是從微觀上看,在某一個時間點看,也同時有10個線程在執行,這就是并行 <br> <br> ### **1.5:Go協程和主線程** 1)Go主線程(有程序員直接稱為**線程**也可以理解成**進程**):一個Go線程上,可以起多個協程,你可以這樣理解,**協程是輕量級的線程\[編譯器做優化**] 2)Go協程 的特點 * 有獨立的棧空間(一但開啟一個協程,他們的數據空間是獨立的互補影響) * 共享程序堆空間 * 調度由用戶控制(就是線程是有可以有我們自己控制) * 協程是輕量級的線程 **示意圖:** ![](https://img.kancloud.cn/e2/78/e278e4e4ae3eaf182a9fbf5d16bd2216_1280x484.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看