偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

計算機基礎(chǔ)概念之進(jìn)程、線程和協(xié)程

系統(tǒng)
那么什么是進(jìn)程、線程以及協(xié)程呢?它們又各自有哪些相同和區(qū)別呢?本文將會對這些問題做一個深入淺出的介紹。

Labs 導(dǎo)讀

互聯(lián)網(wǎng)技術(shù)的興起,讓更多的人接觸到了計算機編程。進(jìn)程、線程、協(xié)程等作為操作系統(tǒng)中最核心的概念及技術(shù)是每位服務(wù)器后端開發(fā)程序猿都繞不開的。

數(shù)字化轉(zhuǎn)型時代

計算機編程技術(shù)越來越普及

高級編程語言的封裝

使得編程變得簡單

作為代碼執(zhí)行最重要的載體

什么是進(jìn)程、線程一級協(xié)程?

本期Labs帶大家認(rèn)識下圖片

計算機基礎(chǔ)之編程技術(shù)的那些事兒~

Part 01、什么是進(jìn)程? 

進(jìn)程是操作系統(tǒng)結(jié)構(gòu)的基礎(chǔ),是一次程序的執(zhí)行;是一個程序及其數(shù)據(jù)在處理機上順序執(zhí)行時所發(fā)生的活動,是程序在一個數(shù)據(jù)集合上運行的過程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨立單元。

初看這段文字回覺得十分抽象,難以理解。以Windows操作系統(tǒng)為例,打開任務(wù)管理器并切換到進(jìn)程頁,即可直觀感觸到進(jìn)程所代表的含義。

圖片

簡單來講,進(jìn)程就是服務(wù)端應(yīng)用程序的一個個啟動實例。一個word是一個進(jìn)程,一個吃雞在后臺也是一個進(jìn)程。進(jìn)程理論上擁有獨立代碼和打開的文件資源、數(shù)據(jù)資源和內(nèi)存空間。

進(jìn)程主要由三部分組成:

1、進(jìn)程控制塊PCB:進(jìn)程存在的唯一標(biāo)識,時操作系統(tǒng)用來記錄和刻畫進(jìn)程狀態(tài)及環(huán)境信息的數(shù)據(jù)結(jié)構(gòu),也是操作系統(tǒng)掌握進(jìn)程的唯一資料結(jié)構(gòu)和管理進(jìn)程的主要依據(jù)。

2、數(shù)據(jù)段:進(jìn)程運行中的各種數(shù)據(jù)。

3、程序段:程序代碼。

Part 02、  什么是線程? 

線程可以理解成進(jìn)程的一個從屬,是應(yīng)用程序的執(zhí)行者,線程是在進(jìn)程中獨立運行的子任務(wù)。一個進(jìn)程理論上由有個一個主線程和多個子線程組成。相同進(jìn)程的線程的內(nèi)存、文件、數(shù)據(jù)是共用的,但擁有獨立的??臻g。對于操作系統(tǒng)來講,線程是最小的執(zhí)行單元。比如使用聊天軟件QQ時我們能夠同時進(jìn)行聊天、發(fā)送文件以及視頻等,這每一項的功能背后都有對應(yīng)的線程在后臺默默地運行。

線程的特征和進(jìn)程的差不多,線程還具備以下優(yōu)點:1、一個進(jìn)程中可以同時存在多個線程,這些線程共享該集成的資源;線程間通信無需操作系統(tǒng)干預(yù),開銷更??;2、線程的并發(fā)比進(jìn)程的更小,系統(tǒng)并發(fā)性高。除了具備以上的優(yōu)點外,線程也存在缺點:當(dāng)進(jìn)程中的一個線程崩潰時,會導(dǎo)致所屬的進(jìn)程的所有線程崩潰。

圖片

程序執(zhí)行是在不同進(jìn)程和線程之間協(xié)作進(jìn)行的,操作系統(tǒng)在多個進(jìn)程和線程同時執(zhí)行并進(jìn)行切換實現(xiàn)應(yīng)用程序的并行執(zhí)行,對操作系統(tǒng)而言,這是極大的性能開銷,那不能不通過操作系統(tǒng)層面來實現(xiàn)高并發(fā)的程序運行呢?協(xié)程的概念也就因此產(chǎn)生了。

Part 03、什么是協(xié)程? 

協(xié)程并不像進(jìn)程和線程那樣廣為人知,但其實協(xié)程的概念比線程出現(xiàn)得更早,直到近來的Golang、Python等編程語言從語言層面提供了對協(xié)程更好的支持,尤其是Goroutine為代表的Go協(xié)程實現(xiàn),才讓程序員對協(xié)程有了更多的了解。

協(xié)程是一種比線程更加輕量級的程序運行的存在。正如一個進(jìn)程可以擁有多個線程一樣,一個線程也可以擁有多個協(xié)程。協(xié)程不被操作系統(tǒng)內(nèi)核所管理,完全在用戶態(tài)執(zhí)行,可以完全由用戶程序進(jìn)行控制。正因為如此,使用協(xié)程不需要操作系統(tǒng)進(jìn)行資源消耗,使執(zhí)行的性能得到了極大的提升。

圖片

責(zé)任編輯:龐桂玉 來源: 移動Labs
相關(guān)推薦

2023-11-29 08:02:16

線程進(jìn)程

2023-12-13 09:56:13

?多進(jìn)程多線程協(xié)程

2018-06-05 15:41:22

進(jìn)程線程協(xié)程

2024-10-22 15:34:57

2009-01-05 15:58:00

英語應(yīng)用軟件計算機基礎(chǔ)

2021-06-16 11:13:49

曙光

2021-01-28 11:17:49

Python爬蟲單線程

2017-07-14 15:40:28

2020-11-29 17:03:08

進(jìn)程線程協(xié)程

2023-04-04 08:25:31

計算機視覺圖片

2023-06-08 08:21:08

多線程編程線程間通信

2009-01-10 23:54:10

軟考英語

2013-04-03 10:28:24

超算量子計算機

2013-03-08 12:51:03

計算機網(wǎng)絡(luò)基礎(chǔ)協(xié)議DHCP

2013-05-14 13:02:17

計算機網(wǎng)絡(luò)基礎(chǔ)協(xié)議

2015-05-28 11:09:00

2011-07-27 21:28:53

計算機網(wǎng)絡(luò)服務(wù)

2023-05-10 07:47:08

Python并發(fā)編程

2023-10-12 09:46:00

并發(fā)模型線程

2023-03-05 16:12:41

Linux進(jìn)程線程
點贊
收藏

51CTO技術(shù)棧公眾號