日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

多CPU,多核,多进程,多线程以及进程和线程的简单理解以及区别

發(fā)布時(shí)間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多CPU,多核,多进程,多线程以及进程和线程的简单理解以及区别 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

當(dāng)面臨這些問(wèn)題的時(shí)候,有兩個(gè)關(guān)鍵詞無(wú)法繞開(kāi),那就是并行和并發(fā)。

首先,要先了解幾個(gè)概念:

  1、進(jìn)程是程序的一次執(zhí)行。

  2、進(jìn)程是資源分配的基本單位。

  3、一個(gè)進(jìn)程可以包括多個(gè)線程。

  4、在單CPU計(jì)算機(jī)中,有一個(gè)資源是無(wú)法被多個(gè)程序并行使用的:CPU。

  5、操作系統(tǒng)調(diào)度器:拆分CPU為一段段時(shí)間的運(yùn)行片,輪流分配給不同的程序。

  6、操作系統(tǒng)內(nèi)存管理模塊:管理物理內(nèi)存、虛擬內(nèi)存相關(guān)的事務(wù)。

  由于CPU同時(shí)刻只能執(zhí)行一個(gè)進(jìn)程,如果我們不加以控制的話,一個(gè)進(jìn)程可能使用CPU直到運(yùn)行結(jié)束,于是出現(xiàn)了操作系統(tǒng)調(diào)度器,而進(jìn)程也成為了調(diào)度單位。

  進(jìn)程的運(yùn)行不僅僅需要CPU,還需要很多其他資源,如內(nèi)存啊,顯卡啊,GPS啊,磁盤啊等等,統(tǒng)稱為程序的執(zhí)行環(huán)境,也就是程序上下文。

  在這里就出現(xiàn)了并發(fā)的概念,調(diào)度器切換CPU給不同進(jìn)程使用的速度非常快,于是在使用者看來(lái)程序是在同時(shí)運(yùn)行,這就是并發(fā),而實(shí)際上CPU在同一時(shí)刻只在運(yùn)行一個(gè)進(jìn)程。并發(fā)只是給人的假現(xiàn)象 ,原因就是由于cpu工作很快,不斷地loop感覺(jué)是同時(shí)發(fā)生,實(shí)際都是單個(gè)執(zhí)行的。

  CPU進(jìn)程無(wú)法同時(shí)刻共享,但是出現(xiàn)一定要共享CPU的需求呢?此時(shí)線程的概念就出現(xiàn)了。線程被包含在進(jìn)程當(dāng)中,進(jìn)程的不同線程間共享CPU和程序上下文。(共享進(jìn)程分配到的資源)

  單CPU進(jìn)行進(jìn)程調(diào)度的時(shí)候,需要讀取上下文+執(zhí)行程序+保存上下文,即進(jìn)程切換。

  如果這個(gè)CPU是單核的話,那么在進(jìn)程中的不同線程為了使用CPU核心,則會(huì)進(jìn)行線程切換,但是由于共享了程序執(zhí)行環(huán)境,這個(gè)線程切換比進(jìn)程切換開(kāi)銷少了很多。在這里依然是并發(fā),唯一核心同時(shí)刻只能執(zhí)行一個(gè)線程。

????????出現(xiàn)線程的原因就是由于進(jìn)程切換需要大量的資源切換,線程卻還資源是共享的,切換速度很快,占用資源小,線程內(nèi)容是隱私的,存儲(chǔ)一些上下文信息,以及堆棧信息,占用內(nèi)存很小,切換很快,同一進(jìn)程不同線程切換共享進(jìn)程資源,切換迅速。

  如果這個(gè)CPU是多核的話,那么進(jìn)程中的不同線程可以使用不同核心,真正的并行出現(xiàn)了。多核才是并行,單核只能說(shuō)是并發(fā),假并行

  線程是CPU調(diào)度和分配的基本單位,一定要和?進(jìn)程是操作系統(tǒng)進(jìn)行資源分配(包括cpu、內(nèi)存、磁盤IO等)的最小單位?區(qū)別清楚。有句話說(shuō)CPU只能看到線程,可以這么理解,假設(shè)我是CPU,我閉著眼,操作系統(tǒng)調(diào)度器將一個(gè)進(jìn)程分配給我之后,我拿到進(jìn)程睜開(kāi)眼,我看到的是什么?我看到的是進(jìn)程中的很多線程,那么我現(xiàn)在能調(diào)度和分配的是什么?進(jìn)程?不行,因?yàn)槲铱床坏狡渌M(jìn)程,何來(lái)調(diào)度分配,只能調(diào)度我看到的那些線程,如果我是4核的話,把線程ABCD分配到核心1234,其他的線程依然要等待分配,至于等待多久,如何分配,暫不在本文討論范圍。于是線程是CPU調(diào)度和分配的基本單位。

  最后說(shuō)一下操作系統(tǒng)內(nèi)存管理模塊這里做的事:在這之前,程序員需要為每個(gè)程序安排運(yùn)行的空間,這里的空間指的是內(nèi)存的物理地址,但是這么的問(wèn)題就是,每個(gè)程序都要協(xié)商如何使用同一內(nèi)存的不同空間,而且程序員還要關(guān)心底層內(nèi)存分配問(wèn)題。解決辦法就是,提出進(jìn)程的概念,每個(gè)進(jìn)程用一樣的虛擬地址空間,CPU上增加了MMU模塊負(fù)責(zé)轉(zhuǎn)換虛擬地址和物理地址,虛擬地址經(jīng)過(guò)操作系統(tǒng)和MMU之后,虛擬地址會(huì)映射到不同的物理地址,不同的進(jìn)程就能獲得各自獨(dú)立的物理內(nèi)存空間。

  另外在有的操作系統(tǒng)里,進(jìn)程不是調(diào)度單位,線程是最基本的調(diào)度單位,調(diào)度器只調(diào)度線程,不調(diào)度進(jìn)程,如VxWorks。

  總結(jié):

  1、單CPU中進(jìn)程只能是并發(fā),多CPU計(jì)算機(jī)中進(jìn)程可以并行。

  2、單CPU單核中線程只能并發(fā),單CPU多核中線程可以并行。

  3、無(wú)論是并發(fā)還是并行,使用者來(lái)看,看到的是多進(jìn)程,多線程。

根本區(qū)別:進(jìn)程是操作系統(tǒng)資源分配的基本單位,而線程是任務(wù)調(diào)度和執(zhí)行的基本單位

在開(kāi)銷方面:每個(gè)進(jìn)程都有獨(dú)立的代碼和數(shù)據(jù)空間(程序上下文),程序之間的切換會(huì)有較大的開(kāi)銷;線程可以看做輕量級(jí)的進(jìn)程,同一類線程共享代碼和數(shù)據(jù)空間,每個(gè)線程都有自己獨(dú)立的運(yùn)行棧和程序計(jì)數(shù)器(PC),線程之間切換的開(kāi)銷小。

所處環(huán)境:在操作系統(tǒng)中能同時(shí)運(yùn)行多個(gè)進(jìn)程(程序);而在同一個(gè)進(jìn)程(程序)中有多個(gè)線程同時(shí)執(zhí)行(通過(guò)CPU調(diào)度,在每個(gè)時(shí)間片中只有一個(gè)線程執(zhí)行)

內(nèi)存分配方面:系統(tǒng)在運(yùn)行的時(shí)候會(huì)為每個(gè)進(jìn)程分配不同的內(nèi)存空間;而對(duì)線程而言,除了CPU外,系統(tǒng)不會(huì)為線程分配內(nèi)存(線程所使用的資源來(lái)自其所屬進(jìn)程的資源),線程組之間只能共享資源。

包含關(guān)系:沒(méi)有線程的進(jìn)程可以看做是單線程的,如果一個(gè)進(jìn)程內(nèi)有多個(gè)線程,則執(zhí)行過(guò)程不是一條線的,而是多條線(線程)共同完成的;線程是進(jìn)程的一部分,所以線程也被稱為輕權(quán)進(jìn)程或者輕量級(jí)進(jìn)程。

?————————————————?
版權(quán)聲明:本文為CSDN博主「mengxuepingwxhn」的原創(chuàng)文章,遵循CC 4.0 by-sa版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38998213/article/details/87688929

總結(jié)

以上是生活随笔為你收集整理的多CPU,多核,多进程,多线程以及进程和线程的简单理解以及区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美性受xxxx黑人xyx性 | 人妻少妇偷人精品无码 | 中文字幕+乱码+中文字幕一区 | 日韩一级免费视频 | 久久精品色妇熟妇丰满人妻 | 亚洲一区二区三区免费在线观看 | 男人用嘴添女人下身免费视频 | 国外成人在线视频 | n0659极腔濑亚美莉在线播放播放 | 亚洲欧美视频在线播放 | 一本色道久久综合亚洲精品按摩 | 日本护士╳╳╳hd少妇 | 国产高清自拍一区 | 在线精品一区二区三区 | 精品九九九九 | 天天摸天天碰 | 在线观看欧美日韩视频 | 国产综合福利 | 91丨porny丨在线中文 | 青青草激情视频 | 免费看欧美片 | 好吊色免费视频 | 黄色av免费在线播放 | 91观看视频 | 一本久道久久综合无码中文 | 国产97色 | 日韩午夜伦 | 人妻巨大乳一二三区 | 亚洲精品偷拍 | 日韩视频在线视频 | 亚洲精品国产一区二区 | 亚洲一区二区免费看 | 第一福利在线视频 | 91九色偷拍 | 久久无码国产视频 | 久久久久久久久久久av | 爱久久视频 | 精品无码久久久久久久久果冻 | 国产日韩久久久 | 国产成人精品一区二区三区在线 | 亚洲在线成人 | 欧美在线观看视频一区二区 | 免费日皮视频 | 黄色片毛片| 深夜福利免费视频 | 91传媒在线播放 | 中文字幕一区二区三区门四区五区 | 福利一区二区在线 | 国产成人精品久久二区二区 | 成人涩涩网站 | 欧美又粗又大xxxxbbbb疯狂 | 午夜国产视频 | 国产成人无码精品久久久久久 | 大地资源二中文在线影视观看 | 成人久久国产 | 好吊色在线观看 | 国产精品视频一二三区 | 国产精品久久久久久久久久东京 | 91制服诱惑 | 寡妇av| 午夜剧场在线 | 免费成人美女女电影 | 娇小萝被两个黑人用半米长 | 草草色| 日韩精品一区中文字幕 | 无码人妻熟妇av又粗又大 | av毛片在线免费观看 | 国产suv精品一区二区68 | 捅肌肌 | 男女日批免费视频 | 欧美精品日韩在线观看 | 欧美另类tv | 午夜免费福利在线 | 污污视频在线播放 | 久色资源| 人人爽人人澡 | 国产网站精品 | 中文字幕在线视频不卡 | 成人免费毛片男人用品 | 成人午夜视频免费看 | 性歌舞团一区二区三区视频 | 91精品国产91久久久 | 97色爱| 长篇高h肉爽文丝袜 | 美女黄视频网站 | 成人av一区| 超碰在线最新地址 | 国产精品久久精品 | 国产精品久久久久久久免费大片 | 国产福利片一区二区 | 国产a区| 色屋视频 | 国产欧美一区二区三区另类精品 | 超碰97免费 | 欧美一区二区三区在线免费观看 | 老熟妇仑乱视频一区二区 | 一级黄色伦理片 | 日本在线一区二区三区 | 色一五月 |