国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

線程與進程的區別以及對多線程并發的理解

開發 前端
多線程并發只是表面和感覺上的并發,并不是實質上的并發。一個線程要運行,它必須占有CPU,而我們目前用的計算機大多都是單CPU的,所以一次最多只能有一個線程獲取CPU并運行。

[[266924]]

 一、線程與進程的區別

先簡單說說線程與進程的概念:

(1)進程是指一個內存中運行的應用程序,比如在Windows系統中,一個運行的exe就是一個進程。

(2)線程是指進程中的一個執行流程。

區別:

一個程序至少有一個進程,而一個進程至少有一個線程。一個應用程序可以同時啟動多個進程。例如對于IE瀏覽器程序,每打開一個IE瀏覽器窗口,就啟動了一個新的進程。而線程則是指進程中的一個執行流程,一個進程可以有多個線程,每個線程分別執行不同的任務,當進程內的多個線程同時運行時,這種運行方式就被稱為并發運行。

另外,線程與進程還有一個非常重要的區別:每個進程在執行過程中都擁有獨立的內存單元,而同一個進程中的多個線程則共享內存,從而極大地提高了程序的運行效率。

二、對多線程并發的理解

多線程并發只是表面和感覺上的并發,并不是實質上的并發。一個線程要運行,它必須占有CPU,而我們目前用的計算機大多都是單CPU的,所以一次最多只能有一個線程獲取CPU并運行。

多線程的實質是“***限度地利用CPU資源”,當某一個線程的處理不需要占用CPU而只需要和I/O等資源打交道時,讓其他線程有機會獲得CPU資源。這有點類似于“統籌方法”,例如讓你打掃房子和燒水,要在最短的時間內做好這兩件事,你一定會想到先把水燒上,然后在等水燒開的空閑時間中去打掃房子,而不是先打掃好了再去燒水,也不是先燒好了再去打掃,這個例子里面,你是那個唯一的CPU,而燒水和打掃就是兩個線程。

雖然CPU只有一個,但是它在多個線程之間頻繁切換,當切換的頻率高到一定程度時,我們就感覺所有的線程在同時運行,于是感覺這多個線程是并發的。因此,并發并不是真的指多個線程同時運行,它僅僅只是形容一種現象。就好像說有些人是“鐵人”一樣,僅僅只是用于形容某個人不怕苦不怕累,像個“鐵人”。

1. 并發:在操作系統中,是指一個時間段中有幾個程序都處于已啟動運行到運行完畢之間,且這幾個程序都是在同一個處理機上運行。其中兩種并發關系分別是同步和互斥

2. 互斥:進程間相互排斥的使用臨界資源的現象,就叫互斥。

3. 同步:進程之間的關系不是相互排斥臨界資源的關系,而是相互依賴的關系。進一步的說明:就是前一個進程的輸出作為后一個進程的輸入,當***個進程沒有輸出時第二個進程必須等待。具有同步關系的一組并發進程相互發送的信息稱為消息或事件。

其中并發又有偽并發和真并發,偽并發是指單核處理器的并發,真并發是指多核處理器的并發。

4. 并行:在單處理器中多道程序設計系統中,進程被交替執行,表現出一種并發的外部特種;在多處理器系統中,進程不僅可以交替執行,而且可以重疊執行。在多處理器上的程序才可實現并行處理。從而可知,并行是針對多處理器而言的。并行是同時發生的多個并發事件,具有并發的含義,但并發不一定并行,也亦是說并發事件之間不一定要同一時刻發生。

5. 多線程:多線程是程序設計的邏輯層概念,它是進程中并發運行的一段代碼。多線程可以實現線程間的切換執行。

6. 異步:異步和同步是相對的,同步就是順序執行,執行完一個再執行下一個,需要等待、協調運行。異步就是彼此獨立,在等待某事件的過程中繼續做自己的事,不需要等待這一事件完成后再工作。線程就是實現異步的一個方式。異步是讓調用方法的主線程不需要同步等待另一線程的完成,從而可以讓主線程干其它的事情。

異步和多線程并不是一個同等關系,異步是最終目的,多線程只是我們實現異步的一種手段。異步是當一個調用請求發送給被調用者,而調用者不用等待其結果的返回而可以做其它的事情。實現異步可以采用多線程技術或則交給另外的進程來處理。

為了對以上概念的更好理解舉一個簡單例子, 假設我要做 燒開水,舉杠鈴100下, 洗衣服 3件事情。

燒開水 這件事情, 我要做的事情為, 準備燒開水 1分鐘, 等開水燒開 8 分鐘 , 關掉燒水機 1分鐘

舉杠鈴100下 我要做的事情為, 舉杠鈴100下 10分鐘

洗衣服 我要做的事情為, 準備洗衣服 1分鐘, 等開水燒開 5 分鐘 , 關掉洗衣機 1分鐘

單核情況下

同步的完成,我需要做的時間為 1+ 8 +1 + 10 + 1+ 5 +1 = 27 分

如果異步,就是在等的時候,我可以切換去做別的事情

準備燒開水(1) + 準備洗衣服(1) + 舉50下杠鈴 (5)分鐘+ 關洗衣機 1分鐘 + 舉杠鈴20下 (2)分鐘+ 關燒水機 1分鐘 + 舉30下杠鈴(3)分鐘

1+1+5+1+2+1+3 =14 分鐘

雙核 異步 并行

核1 準備燒開水 1分鐘+ 舉杠鈴50下(5)分鐘+ 等待3分鐘 + 關掉燒水機 1分鐘

核2 準備洗衣服 1分鐘+ 舉杠鈴50下(5)分鐘+ 關掉洗衣機 1分鐘 + 等待3分鐘

其實只花了 1+5+3+1 = 10分鐘

其中還有雙核都等待了3分鐘

雙核 異步 非并行

核1 舉杠鈴100下(10)分鐘

核2 準備燒開水 1分鐘+ 準備洗衣服 1分鐘+ 等待5 分鐘+ + 關掉燒水機 1分鐘 + 等待 1 分鐘 + 關掉洗衣機 1分鐘

其實只花了 1+5+3+1 = 10分鐘

多線程的做法

單核下

線程1 準備燒開水 1分鐘, 等開水燒開 8 分鐘 , 關掉燒水機 1分鐘

線程2 舉杠鈴100下 10分鐘

線程3 準備洗衣服 1分鐘, 等開水燒開 5 分鐘 , 關掉洗衣機 1分鐘

cpu 可能這么切換 最理想的切換方式

線程1 準備燒開水1 sleep 1 sleep 5 sleep 1 sleep 2 關開水 1分鐘 exit

線程2 sleep 1 sleep 1 舉杠鈴50 5分鐘 sleep 1 舉杠鈴20 2分鐘 sleep1 舉杠鈴30下 3分鐘

線程3 sleep 1 準備洗衣服1 分鐘 sleep 5 關洗衣機1分鐘 exit

***使用了 14分鐘 和異步是一樣的。

但是實際上是不一樣的,因為線程不會按照我們設想的去跑, 如果線程2 舉杠鈴先跑,整個流程的速度就下來了。

異步和同步的區別, 在io等待的時候,同步不會切走,浪費了時間。

如果都是獨占cpu 的業務, 比如舉杠鈴的業務, 在單核情況下 多線和單線 沒有區別。

多線程的好處,比較容易的實現了 異步切換的思想, 因為異步的程序很難寫的。多線程本身程還是以同步完成,但是應該說

比效率是比不上異步的。 而且多線很容易寫, 相對效率也高。

多核的好處,就是可以同時做事情, 這個和單核完全不一樣的。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-02-26 11:15:25

進程多線程多進程

2021-06-11 11:28:22

多線程fork單線程

2010-03-18 16:02:09

python 多線程

2025-01-10 07:10:00

2010-03-16 17:16:38

Java多線程

2011-12-08 13:23:00

JavaNIO

2022-05-26 08:31:41

線程Java線程與進程

2012-06-20 14:07:28

多線程架構單線程

2024-06-24 12:57:09

多線程C++編程語言

2024-09-29 10:39:14

并發Python多線程

2020-10-13 07:44:45

理解分布式

2023-10-08 09:34:11

Java編程

2013-12-02 17:33:20

Linux進程多線程

2023-11-29 08:02:16

線程進程

2024-01-09 08:28:44

應用多線程技術

2024-12-27 08:11:44

Python編程模式IO

2025-02-27 08:15:28

2022-03-04 10:17:04

Redis數據

2022-10-12 09:01:52

Linux內核線程

2023-12-13 09:56:13

?多進程多線程協程
點贊
收藏

51CTO技術棧公眾號

外国成人免费视频| 亚瑟国产精品| 免费成人av资源网| 91久久嫩草影院一区二区| 羞羞视频在线免费国产| 国产欧美1区2区3区| 日韩精品不卡| 日韩毛片视频| 久久成年人视频| 成人亚洲网站| 欧美一级欧美三级在线观看| 午夜影院在线免费观看| 久久精品二区亚洲w码| 黄瓜视频免费观看在线观看www | 精品电影在线| 亚洲香肠在线观看| 被下部羞羞漫画| 成人永久aaa| av不卡在线免费观看| 久久狠狠亚洲综合| 欧美精品与人动性物交免费看| 日韩亚洲国产欧美| 国产欧美日韩综合精品二区| 久久久久影视| 国产精品福利观看| 亚洲精品国模| 国产精品欧美日韩| 精品国产区在线| 麻豆专区一区二区三区四区五区| 亚洲综合激情网| 狠狠操在线视频| 免费精品视频| 日本精品福利视频| 91视频在线观看免费| 在线中文字幕资源| 欧美va亚洲va| 超碰在线成人| 国产一区二区三区四区hd| 日韩福利视频导航| 国产肥臀一区二区福利视频| 亚洲一区在线观看免费观看电影高清| 日本老太婆做爰视频| 欧美色婷婷久久99精品红桃| 在线亚洲男人天堂| 怕怕欧美视频免费大全| 国严精品久久久久久亚洲影视| 国内成人自拍视频| 在线播放av片| 亚洲视频999| 日韩成人精品一区二区| 天天做天天爱天天高潮| 一区二区三区在线视频播放 | 国产91亚洲精品久久久| 性色av一区二区三区免费| 男女激情无遮挡| 99re66热这里只有精品3直播 | 国产卡一卡二在线| 日本电影亚洲天堂一区| 亚洲欧洲专区| yellow视频在线观看一区二区| 久久99久久精品欧美| 免费99视频| 美女诱惑一区二区| 最新中文字幕免费视频| av爱爱亚洲一区| 能在线观看av网站| xxxxx成人.com| 国产老妇另类xxxxx| 91传媒久久久| 久久综合久久鬼色中文字| 国内三级在线观看| 国产精品亚发布| 久久精品国产99久久6| 最新在线你懂的| 亚洲美女视频网| 欧美午夜国产| av大片免费看| 欧美日韩高清区| 日本韩国精品一区二区| 欧美另类老女人| 99re6这里只有精品视频在线观看| 国产不卡123| 黄色大片在线免费看| 欧美日韩激情视频| 国产精品一区2区3区| 国产麻豆电影在线观看| 亚洲欧洲制服丝袜| 成人在线免费观看视频| 懂色av一区二区三区四区五区| 欧美色成人综合| 极品尤物一区| 高清av影院| 久久最新资源网| 一区二区三区自拍| 精品一区二区三区在线| www.亚洲天堂网| 成人性生交xxxxx网站| 日韩一区二区免费高清| 极品尤物av久久免费看| 国模精品视频| 欧美特级aaa| 午夜精品一区二区三区av| 成人影院在线| 蜜芽在线免费观看| 黄色影院一级片| 91深夜福利视频| 亚洲爱爱爱爱爱| 日本一区二区在线不卡| 99国产一区| 女人抽搐喷水高潮国产精品| 国产欧美黑人| 免费h片在线观看| 日韩在线视频在线| 成人久久久久久| 色噜噜久久综合伊人一本| 色偷偷久久一区二区三区| 久久99国产乱子伦精品免费| 2020最新国产精品| 国产美女性感在线观看懂色av | 亚洲偷欧美偷国内偷| 日韩欧美亚洲范冰冰与中字| 国产亚洲欧美一区在线观看| 欧美另类女人| 红杏aⅴ成人免费视频| videos性欧美另类高清| 超碰免费在线播放| 免费在线黄色网址| 日本激情综合网| 欧美一级欧美一级| 欧美第一黄网| 久久日韩精品| 国产传媒一区二区| 国产精品国产三级国产专播精品人 | 青青青草原在线| 91成人在线视频观看| 少妇特黄a一区二区三区 | av一区在线| 免费黄色电影在线观看| 曰韩少妇与小伙激情| 特黄特黄的视频| 天天爽天天爽夜夜爽| 羞羞免费视频网站| 一个人看的免费视频色| xxxx69视频| 97视频网站| 精品电影在线| missav|免费高清av在线看| 黄页网址大全在线观看| 日产精品久久久久久久性色| 成人午夜影视| 欧美7777| 国产精品嫩草影院在线看| 色婷婷av一区二区三区丝袜美腿| 亚洲一区二区四区| 日本精品二区| 国产高清www| 国产黄色免费电影| www.国产精品.com| jizzyou欧美16| 久久99高清| 国产精品毛片一区二区在线看| 视频一区视频二区中文| 中文欧美日韩| 国产欧美日韩另类一区| 亚洲综合偷拍欧美一区色| 欧美一区二区精美| 国产欧美日韩三级| 欧美日韩精品三区| 欧美裸体xxxx极品少妇| 国产一区二区三区色淫影院| 亚洲三区在线| mm1313亚洲国产精品无码试看| 99视频在线观看地址| 精品素人av| 国产乱码一区二区三区| 狠狠久久亚洲欧美专区| 欧美一卡2卡三卡4卡5免费| 中文字幕自拍vr一区二区三区| 国产精品www网站| 亚洲欧洲国产精品久久| 浪潮av在线| 日本在线一区二区| 久久要要av| 欧美精彩视频一区二区三区| 99久久精品国产导航| 日韩一区和二区| 精品欧美一区二区久久久伦| 欧美 日韩 国产 高清| 日本欧美在线视频免费观看| 伊人久久大香线| 舔着乳尖日韩一区| 欧美精品videossex88| 日韩精品在线视频免费观看| 96av在线| 视频在线在亚洲| 欧美电影免费提供在线观看| 亚洲一区二区少妇| 一级香蕉视频在线观看| 欧美一区 二区| 99re亚洲国产精品|