成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

進程,線程,協(xié)程那些事

開發(fā) 前端
無論我們寫出怎樣的程序,最后都是由操作系統(tǒng)來運行我們的程序,而操作系統(tǒng)如何管理我們的程序,我們程序的數(shù)據(jù)如何保存和計算,這些都是操作系統(tǒng)需要處理的事情,我們只要將寫好的程序交給操作系統(tǒng)就好。

 無論我們寫出怎樣的程序,最后都是由操作系統(tǒng)來運行我們的程序,而操作系統(tǒng)如何管理我們的程序,我們程序的數(shù)據(jù)如何保存和計算,這些都是操作系統(tǒng)需要處理的事情,我們只要將寫好的程序交給操作系統(tǒng)就好。

[[354558]]

雖然操作系統(tǒng)可以幫助我們做很多事情,但是它并不是萬能的,有時候我們需要告訴它如何處理,或者說我們需要按照它的規(guī)則來辦事。而操作系統(tǒng)本質(zhì)的作用就是用來管理調(diào)度內(nèi)存和cpu。

進程

進程是操作系統(tǒng)分配資源的最小單位,也就是我們寫的每個程序都至少包含一個進程,當然也可能包括多個進程。在進程中,我們有自己的資源管理,我們可以申請內(nèi)存,可以進行數(shù)據(jù)的運算,這些都是進程需要處理的事情。

 

進程,線程,協(xié)程那些事

 

線程

 

進程,線程,協(xié)程那些事

 

既然有了進程,為什么還要線程呢?因為進程切換太消耗資源了。我們知道一個事物或者一種方法的出現(xiàn),一定是為了解決某種問題或者某些問題。而線程的出現(xiàn)就是為了方便操作系統(tǒng)調(diào)度,因此,線程是操作系統(tǒng)調(diào)度的最小單位。一個進程里面可以有一個線程,也可以有多個線程,多個線程之間互相做自己的事情,但是它們共享進程的存儲空間,也就是說它們都可以訪問進程的內(nèi)存空間,這樣的好處就是方便線程的通信,缺點也很明顯,如果多個線程都想同時修改共享內(nèi)存的數(shù)據(jù),它們就會產(chǎn)生競爭,而鎖的機制就是為了解決共享內(nèi)存的線程之間修改共享內(nèi)存的一種方法。

 

進程,線程,協(xié)程那些事

 

攜程

進程的創(chuàng)建需要最多的資源,線程需要的資源比它小很多,但是人們似乎還是不滿意,于是協(xié)程誕生了,它需要的資源的更少,只需要幾kb,也就是說一個普通的主機也能夠輕輕松松啟動幾十萬個協(xié)程。之前我們說過,進程是cpu分配資源的最小單位,線程是cpu管理的最小單位,那么協(xié)程cpu怎么管理呢?答案就是操作系統(tǒng)cpu不直接管理協(xié)程,而是由用戶自己去管理,因此,我們經(jīng)常也把協(xié)程叫做用戶態(tài)線程。

 

進程,線程,協(xié)程那些事

 

既然協(xié)程是有用戶管理的,因此我們可以根據(jù)我們的需要在不同協(xié)程之間進行切換,比如當一個協(xié)程遇到io耗時操作的時候,我們可以將cpu資源切換到其它協(xié)程,這樣我們就可以大幅提升cpu利用率。

 

進程,線程,協(xié)程那些事

 

雖然協(xié)程很方便,但是由于需要用戶自己去管理狀態(tài)切換,因此用戶需要實現(xiàn)一個處理器調(diào)度機制,這其實并不簡單,這也是為什么知道最近才有很多語言實現(xiàn)協(xié)程。

總結

無論是進程,線程還是協(xié)程,它們統(tǒng)一說來都是一個資源塊,都是可以被cpu調(diào)度的一塊代碼塊,不同的就是cpu是如何調(diào)度它們的。操作系統(tǒng)通過進程和線程的管理來處理cpu的調(diào)度,操作系統(tǒng)封裝了進程和線程的實現(xiàn),我們只需要做的就是讓我們的程序盡可能合理分配處理器資源。

當明白了這些,我們更多關注的就是進程之間如何通信,線程和進程之間如何通信,協(xié)程間如何通信,這些其實才是我們在編碼過程中投入更多精力關注的。

責任編輯:華軒 來源: 今日頭條
相關推薦

2020-04-07 11:10:30

Python數(shù)據(jù)線程

2020-08-04 10:56:09

進程線程協(xié)程

2023-10-12 09:46:00

并發(fā)模型線程

2025-06-26 04:10:00

2024-10-25 15:56:20

2022-04-19 20:39:03

協(xié)程多進程

2015-08-20 09:17:36

Java線程池

2020-10-07 22:21:13

程序員技術線程

2021-09-16 09:59:13

PythonJavaScript代碼

2021-04-25 09:36:20

Go協(xié)程線程

2023-07-30 23:44:49

Go協(xié)程進程

2023-05-10 07:47:08

Python并發(fā)編程

2025-05-26 02:20:00

并發(fā)協(xié)程虛擬內(nèi)存

2025-06-05 01:22:00

線程虛擬內(nèi)存系統(tǒng)

2023-10-11 07:39:58

Java虛擬線程

2022-04-08 07:32:24

JavaJUCThreadLoca

2020-02-24 10:39:55

Python函數(shù)線程池

2022-12-30 07:50:05

無棧協(xié)程Linux

2023-11-17 11:36:59

協(xié)程纖程操作系統(tǒng)

2023-04-26 01:12:53

進程線程語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91视频久久 | 国产一区久久久 | 91性高湖久久久久久久久_久久99 | 天堂在线www| 久一精品 | 久久精品免费 | 国产精品福利久久久 | 国产精品美女久久久 | 亚洲精品乱码久久久久久久久 | 欧美电影一区 | 在线日韩| 福利网站在线观看 | 五月天天丁香婷婷在线中 | 久久久久久久久久久91 | 中文字幕一区二区三区不卡 | av手机免费在线观看 | 亚洲一区二区精品视频 | 91资源在线观看 | 韩日一区二区三区 | 亚洲午夜电影 | 可以看黄的视频 | 国产亚洲精品久久yy50 | 欧美视频免费 | 一区二区高清在线观看 | 日韩2020狼一二三 | 精品免费av | 麻豆av免费观看 | 国产一级淫片免费视频 | 四虎影院免费在线播放 | 亚洲一区网站 | 中文字幕 在线观看 | 午夜精品久久久久久久久久久久久 | 在线中文字幕第一页 | 日韩三级在线观看 | 国产精品伦理一区 | 日韩日韩日韩日韩日韩日韩日韩 | 国产69精品久久久久777 | 欧美区在线| 91av在线免费播放 | 久久国产视频播放 | 国产激情视频在线 |