回覆列表
  • 1 # 使用者5937533249488

    併發

    併發在作業系統中,是指一箇中有都處於到之間,且這幾個程式都是在同一個處理機上執行,但上在處理機上。注意:這裡所說的處理機指的是含有一個cpu的伺服器。也就是說,在某一個時間段內,多個程式都處於執行狀態中,那麼他們就形成了併發。為什麼在任一個時刻點上只有一個程式在處理機上執行呢?因為併發當有多個執行緒在操作時,如果系統只有一個CPU,則它根本不可能真正同時進行一個以上的執行緒,它只能把CPU執行時間劃分成若干個時間段,再將時間 段分配給各個執行緒執行,在一個時間段的執行緒程式碼執行時,其它執行緒處於掛起狀。

    就像一個餐廳,很多人在哪裡排隊,然後到收銀臺去點餐。每個人都可以看做事不同的執行緒,收銀員就相當於cpu。只有當前面的使用者付完款離開後,後面的人才能點餐付款。當一個人點餐付款的時候,其他人只能在哪裡掛起等待。

    並行

    並行:當系統有一個以上CPU時,則執行緒的操作有可能非併發。當一個CPU執行一個執行緒時,另一個CPU可以執行另一個執行緒,兩個執行緒互不搶佔CPU資源,可以同時進行,這種方式我們稱之為並行(Parallel)。

    類似上面餐廳排隊的例子,並行解決的問題就相當於有兩個收銀臺,客戶可以分兩隊去排隊,兩個收銀員之間互不干擾,自己處理自己的工作,並且無需等待,同時進行。

    並行和併發的異同:並行是指兩個或者多個事件在同一時刻發生,併發是指多個事件在同一時間段內發生

    高併發

    定義:高併發通常指的是單位時間內伺服器處理很多的請求。注意:對於網上很多定義為:的定義有異議,本人覺得並行和併發屬於不同的概念。上面有並行的定義。併發的定義也是再時間段內,所以我認為更合適!

    執行緒

    執行緒,有時被稱為輕量程序(Lightweight Process,LWP),是的, 一個標準的執行緒由,,和組成。

    執行緒的特點:

    輕型實體執行緒中的實體基本上不擁有系統資源,只是有一點必不可少的、能保證獨立執行的資源。獨立排程和分派的基本單位。在多執行緒OS中,執行緒是能獨立執行的基本單位,因而也是獨立排程和分派的基本單位。由於執行緒很“輕”,故執行緒的切換非常迅速且開銷小(在同一程序中的)。可併發執行。在一個程序中的多個執行緒之間,可以併發執行,甚至允許在一個程序中所有執行緒都能併發執行;同樣,不同程序中的執行緒也能併發執行,充分利用和發揮了處理機與外圍裝置並行工作的能力。共享程序資源。在同一程序中的各個執行緒,都可以共享該程序所擁有的資源,這首先表現在:所有執行緒都具有相同的地址空間(程序的地址空間),這意味著,執行緒可以訪問該地址空間的每一個虛地址;此外,還可以訪問程序所擁有的已開啟檔案、定時器、訊號量機構等。由於同一個程序內的執行緒共享記憶體和檔案,所以執行緒之間互相通訊不必呼叫核心。

    程序

    程序(Process)是計算機中的程式,是系統進行和的基本單位,是作業系統結構的基礎。

    在早期面向程序設計的計算機結構中,;在當代面向執行緒設計的計算機結構中,。程式是指令、資料及其組織形式的描述,程序是程式的實體。程式是指令和資料的有序集合,其本身沒有任何執行的含義,是一個靜態的概念。而,它是一個動態的概念。

    程序和執行緒的區別

    執行緒是程式執行的最小單元,程序是系統進行資源分配和排程的基本單位;執行緒之間的通訊方便(因為資源是共享的),程序之間的通訊複雜。程序比執行緒穩定健壯。一個程序的死亡一般不會影響其他程序,而同一個程序中的執行緒中,一個執行緒死亡很可能導致整個程序中的所有執行緒死亡。程序比執行緒更耗資源。因為程序獨佔資源,執行緒共享資源。

  • 中秋節和大豐收的關聯?
  • 狗狗不吃狗糧怎麼辦?