<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【每日一題】進程與線程

          共 1946字,需瀏覽 4分鐘

           ·

          2021-09-26 17:19

          人生苦短,總需要一點儀式感。比如學前端~

          用戶下達運行程序的命令時,就會產生進程。同一程序可產生多個進程(一對多的關系),來允許同時有很多位用戶運行同一程序,卻不會相沖突。

          進程需要一些資源才能完成的工作,如 cpu 使用時間、存儲器、文件以及 I/O 設備,并且依照順序逐一進行,也就是每個 CPU 核心任何時間內僅能運行一項進程。

          進程和線程的區(qū)別:

          進程是計算機管理運行程序的一種方式,一個進程下可包含一個或多個線程。

          也就是說,進程是我們運行的程序代碼和占用的資源總和,線程是進程的最小執(zhí)行單位,當然也支持并發(fā)。可以說是把問題細化,分成一個個更小的問題,進而得以解決。

          并且進程內的線程是共享進程資源的,處于同一地址空間,所以切換和通信相對成本小,而進程可以理解為沒有公共的包裹容器。
          但是如果進程間需要通信的話,也需要一個公共環(huán)境或者一個媒介,這個就是操作系統(tǒng)。

          進程的理解

          計算機是由單核、多核的,也有多種的組合方式:

          • 單進程:因為是一個進程,所以某一時刻只能處理一個事務,后續(xù)需要等待,體驗不佳。

          • 多進程:為了解決上面的問題,但是如果有很多請求的話,會產生很多進程,開銷本身就是一個不小的問題,而進程占據獨立的內存,這么多響應式的進程難免會有重復的狀態(tài)和數據,會造成資源浪費。

          • 多進程多線程:由于之前的進程處理事務,改成使用線程處理事務,解決了開銷大,資源浪費的問題,還可以使用線程池,預先創(chuàng)建諸多線程,減少創(chuàng)建和銷毀線程的開銷。但是一個 cpu 某一時刻只能處理一個事務。就像時間分片來調度線程的話,會導致線程切換頻繁,是非常耗時的。

          • 單線程單進程:類似 V8,基于事件驅動,有效避免內存開銷和上下文切換,只需要線程間通信,即可在適當的時刻進行事務結果的反饋。但是遇到計算量很大的事務,會阻塞后續(xù)任務的執(zhí)行

          • 單進程單線程(多進程架構):node 提供了 cluster 和 child_process 兩個模塊進行進程的創(chuàng)建,也就是我們常說的主(Master)從(worker)模式。Master 負責任務調用和管理 Worker 進程,Worker 進行事務處理。


          所有《每日一題》的 知識大綱索引腦圖 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
          你也可以點擊文末的 “閱讀原文” 快速跳轉


          END
          愿你歷盡千帆,歸來仍是少年。

          讓我們一起攜手同走前端路!

          關注公眾號回復【加群】即可

          瀏覽 32
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲国产精品视频 | 日韩一级片在线播放 | 亚洲曰韩第一页 | 成人三级片一区 | 日本韓淫屄一区二区三区 |