亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php面試題一之線程和進程的區別(順帶提下協程)

2020-03-22 18:34:07
字體:
來源:轉載
供稿:網友

這篇文章介紹的內容是關于php面試題一之線程和進程的區別(順帶提下協程),有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

一、什么是進程


進程是程序執行是的一個實例,進程能夠分配給cpu和內存等資源。進程一般包括指令集和系統資源,其中指令集就是你的代碼,系統資源就是指cpu、內存以及I/O等。

進程是一個程序在一個數據集中的一次動態執行過程,可以簡單理解為“正在執行的程序”,它是CPU資源分配和調度的獨立單位。
進程一般由程序、數據集、進程控制塊三部分組成。我們編寫的程序用來描述進程要完成哪些功能以及如何完成;數據集則是程序在執行過程中所需要使用的資源;進程控制塊用來記錄進程的外部特征,描述進程的執行變化過程,系統可以利用它來控制和管理進程,它是系統感知進程存在的唯一標志。
進程的局限是創建、撤銷和切換的開銷比較大。

二、什么是線程

線程是進程的一個執行流,線程不能分配系統資源,它是進程的一部分,比進程更小的獨立運行的單位。
解釋一下:進程有兩個特性:一是資源的所有權,一個是調度執行(指令集),線程是調度執行中的一部分,是指進程執行過程的路徑,也叫程序執行流。線程有時候也叫輕量級進程。

線程是在進程之后發展出來的概念。 線程也叫輕量級進程,它是一個基本的CPU執行單元,也是程序執行過程中的最小單元,由線程ID、程序計數器、寄存器集合和堆棧共同組成。一個進程可以包含多個線程。
線程的優點是減小了程序并發執行時的開銷,提高了操作系統的并發性能,缺點是線程沒有自己的系統資源,只擁有在運行時必不可少的資源,但同一進程的各線程可以共享進程所擁有的系統資源,如果把進程比作一個車間,那么線程就好比是車間里面的工人。不過對于某些獨占性資源存在鎖機制,處理不當可能會產生“死鎖”。

三、什么是協程

協程是一種用戶態的輕量級線程,又稱微線程,英文名Coroutine,協程的調度完全由用戶控制。人們通常將協程和子程序(函數)比較著理解。
子程序調用總是一個入口,一次返回,一旦退出即完成了子程序的執行。
協程的起始處是第一個入口點,在協程里,返回點之后是接下來的入口點。在python中,協程可以通過yield來調用其它協程。通過yield方式轉移執行權的協程之間不是調用者與被調用者的關系,而是彼此對稱、平等的,通過相互協作共同完成任務。其運行的大致流程如下:
第一步,協程A開始執行。
第二步,協程A執行到一半,進入暫停,通過yield命令將執行權轉移到協程B。
第三步,(一段時間后)協程B交還執行權。
第四步,協程A恢復執行。

協程的特點在于是一個線程執行,與多線程相比,其優勢體現在:
* 協程的執行效率非常高。因為子程序切換不是線程切換,而是由程序自身控制,因此,沒有線程切換的開銷,和多線程比,線程數量越多,協程的性能優勢就越明顯。
* 協程不需要多線程的鎖機制。在協程中控制共享資源不加鎖,只需要判斷狀態就好了。
Tips:利用多核CPU最簡單的方法是多進程+協程,既充分利用多核,又充分發揮協程的高效率,可獲得極高的性能。

四、進程和線程的關系

進程就像地主,有土地(系統資源),線程就像佃戶(線程,執行種地流程)。每個地主(進程)只要有一個干活的佃戶(線程)。
進程-資源分配的最小單位,相對健壯,崩潰一般不影響其他進程,但是切換進程時耗費資源,效率差些。
線程-程序執行的最小單位,沒有獨立的地址空間,一個線程死掉可能整個進程就死掉,但是節省資源,切換效率高。

五、php編程常見的進程和線程

1、在web應用中,我們每次訪問php,就建立一個PHP進程,當然也會建立至少一個PHP線程。
2、PHP使用pcntl來進行多進程編程
3、PHP中使用pthreads來進行多線程編程
4、nginx的每個進程只有一個線程,每個線程可以處理多個客戶端的訪問
5、php-fpm使用多進程模型,每個進程只有一個線程,每個線程只能處理一個客戶端訪問。
6、apache可能使用多進程模型,也可能使用多線程模型,取決于使用哪種SAPI.
7、進程是cpu資源分配的最小單位,線程是cpu調度的最小單位

一、什么是進程

進程是程序執行是的一個實例,進程能夠分配給cpu和內存等資源。進程一般包括指令集和系統資源,其中指令集就是你的代碼,系統資源就是指cpu、內存以及I/O等。

進程是一個程序在一個數據集中的一次動態執行過程,可以簡單理解為“正在執行的程序”,它是CPU資源分配和調度的獨立單位。
進程一般由程序、數據集、進程控制塊三部分組成。我們編寫的程序用來描述進程要完成哪些功能以及如何完成;數據集則是程序在執行過程中所需要使用的資源;進程控制塊用來記錄進程的外部特征,描述進程的執行變化過程,系統可以利用它來控制和管理進程,它是系統感知進程存在的唯一標志。
進程的局限是創建、撤銷和切換的開銷比較大。

二、什么是線程

線程是進程的一個執行流,線程不能分配系統資源,它是進程的一部分,比進程更小的獨立運行的單位。
解釋一下:進程有兩個特性:一是資源的所有權,一個是調度執行(指令集),線程是調度執行中的一部分,是指進程執行過程的路徑,也叫程序執行流。線程有時候也叫輕量級進程。

線程是在進程之后發展出來的概念。 線程也叫輕量級進程,它是一個基本的CPU執行單元,也是程序執行過程中的最小單元,由線程ID、程序計數器、寄存器集合和堆棧共同組成。一個進程可以包含多個線程。
線程的優點是減小了程序并發執行時的開銷,提高了操作系統的并發性能,缺點是線程沒有自己的系統資源,只擁有在運行時必不可少的資源,但同一進程的各線程可以共享進程所擁有的系統資源,如果把進程比作一個車間,那么線程就好比是車間里面的工人。不過對于某些獨占性資源存在鎖機制,處理不當可能會產生“死鎖”。

三、什么是協程

協程是一種用戶態的輕量級線程,又稱微線程,英文名Coroutine,協程的調度完全由用戶控制。人們通常將協程和子程序(函數)比較著理解。
子程序調用總是一個入口,一次返回,一旦退出即完成了子程序的執行。
協程的起始處是第一個入口點,在協程里,返回點之后是接下來的入口點。在python中,協程可以通過yield來調用其它協程。通過yield方式轉移執行權的協程之間不是調用者與被調用者的關系,而是彼此對稱、平等的,通過相互協作共同完成任務。其運行的大致流程如下:
第一步,協程A開始執行。
第二步,協程A執行到一半,進入暫停,通過yield命令將執行權轉移到協程B。
第三步,(一段時間后)協程B交還執行權。
第四步,協程A恢復執行。

協程的特點在于是一個線程執行,與多線程相比,其優勢體現在:
* 協程的執行效率非常高。因為子程序切換不是線程切換,而是由程序自身控制,因此,沒有線程切換的開銷,和多線程比,線程數量越多,協程的性能優勢就越明顯。
* 協程不需要多線程的鎖機制。在協程中控制共享資源不加鎖,只需要判斷狀態就好了。
Tips:利用多核CPU最簡單的方法是多進程+協程,既充分利用多核,又充分發揮協程的高效率,可獲得極高的性能。

四、進程和線程的關系

進程就像地主,有土地(系統資源),線程就像佃戶(線程,執行種地流程)。每個地主(進程)只要有一個干活的佃戶(線程)。
進程-資源分配的最小單位,相對健壯,崩潰一般不影響其他進程,但是切換進程時耗費資源,效率差些。
線程-程序執行的最小單位,沒有獨立的地址空間,一個線程死掉可能整個進程就死掉,但是節省資源,切換效率高。

五、php編程常見的進程和線程

1、在web應用中,我們每次訪問php,就建立一個PHP進程,當然也會建立至少一個PHP線程。
2、PHP使用pcntl來進行多進程編程
3、PHP中使用pthreads來進行多線程編程
4、nginx的每個進程只有一個線程,每個線程可以處理多個客戶端的訪問
5、php-fpm使用多進程模型,每個進程只有一個線程,每個線程只能處理一個客戶端訪問。
6、apache可能使用多進程模型,也可能使用多線程模型,取決于使用哪種SAPI.
7、進程是cpu資源分配的最小單位,線程是cpu調度的最小單位

相關推薦:

php面試可能會被問道的技術題匯總

以上就是php面試題一之線程和進程的區別(順帶提下協程)的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频播放| 精品国偷自产在线| 亚洲一区亚洲二区亚洲三区| 亚洲成人激情在线观看| 欧洲亚洲免费在线| 中文字幕精品www乱入免费视频| 亚洲第一偷拍网| 日韩欧美极品在线观看| 91色p视频在线| 日韩欧美一区二区三区| 久久色精品视频| 成人黄色在线免费| 午夜精品99久久免费| 亚洲成成品网站| 欧美丰满老妇厨房牲生活| 成人福利网站在线观看11| 中文字幕日韩在线播放| 日韩av三级在线观看| 国产精品美女主播| 久久九九亚洲综合| 亚洲第一福利网站| 97视频色精品| 91精品国产91久久久久| 欧美黄色免费网站| 亚洲第一中文字幕| 国产精品入口夜色视频大尺度| 91av视频在线| 久久精品国产欧美亚洲人人爽| 欧美精品激情在线观看| 久久久久亚洲精品国产| 久久亚洲电影天堂| 亚洲第一二三四五区| 91沈先生作品| 日韩高清电影好看的电视剧电影| 欧美在线视频一区二区| 久久久久久av| 欧美日韩在线免费| 欧洲一区二区视频| 欧洲午夜精品久久久| 91精品国产电影| 国产精品福利无圣光在线一区| 亚洲深夜福利视频| 国产精品永久免费| 欧美一级淫片aaaaaaa视频| 久热精品视频在线观看| 国产91|九色| 亚洲黄色成人网| 色综合色综合久久综合频道88| 日韩av中文字幕在线播放| xxx一区二区| 欧美精品久久久久| 亚洲一区美女视频在线观看免费| 蜜臀久久99精品久久久久久宅男| 亚洲男人天堂网| 国产精品视频一区国模私拍| 77777亚洲午夜久久多人| 8090理伦午夜在线电影| 日韩欧美一区二区三区| 亚洲一区二区三区久久| 国产91精品久久久久| 91久久久久久久久久久| 久久亚洲精品毛片| 欧美日韩亚洲一区二区| 永久免费看mv网站入口亚洲| 91精品久久久久久综合乱菊| 91美女高潮出水| zzijzzij亚洲日本成熟少妇| 成人夜晚看av| 日本精品性网站在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 精品伊人久久97| 国产精品免费视频久久久| 亚洲国产欧美日韩精品| 欧美专区日韩视频| 中文字幕久精品免费视频| 亚洲深夜福利在线| 日韩在线视频线视频免费网站| 亚洲午夜性刺激影院| 国产精品稀缺呦系列在线| 色樱桃影院亚洲精品影院| 成人黄色片在线| 91老司机在线| 欧美性xxxx极品hd满灌| 91精品国产91久久久久久最新| 国产亚洲欧美一区| 欧美日韩一区二区免费在线观看| 91精品国产自产在线观看永久| 日本乱人伦a精品| 亚洲美女喷白浆| 98视频在线噜噜噜国产| 欧美老女人www| 这里只有精品久久| 日韩电影在线观看免费| 欧美精品电影在线| 欧美一级成年大片在线观看| 91性高湖久久久久久久久_久久99| 国产亚洲精品高潮| 国产欧美最新羞羞视频在线观看| 国产精品久久久久久久久免费| 色婷婷**av毛片一区| 最近中文字幕mv在线一区二区三区四区| 久久天堂电影网| 国产亚洲激情视频在线| 国产成人精品av| 日韩风俗一区 二区| 九九热这里只有在线精品视| 日韩国产在线看| 色偷偷偷亚洲综合网另类| 最新69国产成人精品视频免费| 亚洲美女免费精品视频在线观看| 欧美最顶级丰满的aⅴ艳星| www.日韩av.com| 欧美日韩一区二区免费视频| 亚洲四色影视在线观看| 精品亚洲aⅴ在线观看| 亚洲国产成人91精品| 国产综合香蕉五月婷在线| 黑人巨大精品欧美一区二区| 中文字幕久热精品在线视频| 久久精品国产成人精品| 好吊成人免视频| 精品久久久999| 国产日韩精品综合网站| 高清欧美性猛交xxxx黑人猛交| 亚洲成人网在线| 91精品久久久久久久久久久久久| 亚洲精品999| 国内偷自视频区视频综合| 夜夜嗨av色一区二区不卡| 成人在线免费观看视视频| 亚洲电影在线看| 欧美特级www| 久久久精品亚洲| 精品国产乱码久久久久久婷婷| 97香蕉超级碰碰久久免费软件| 欧美亚洲成人精品| 成人伊人精品色xxxx视频| 久久天天躁狠狠躁老女人| 成人免费看吃奶视频网站| 亚洲人成五月天| 亚洲精品女av网站| 91sa在线看| 欧美亚洲午夜视频在线观看| 日本成人精品在线| 91亚洲国产成人久久精品网站| 亚洲人免费视频| 国产精品三级美女白浆呻吟| 亚洲第一网中文字幕| 欧美大片网站在线观看| 亚洲在线观看视频网站| 青草成人免费视频| 亚洲福利视频久久| 国产亚洲欧美日韩精品| 在线日韩第一页| 97国产成人精品视频| 欧美精品18videos性欧| 欧美激情一区二区三级高清视频| 日韩av资源在线播放| 亚洲第一天堂av| 亚洲男人的天堂网站| 91久久精品国产91久久性色| 成人性生交大片免费看视频直播| 日韩在线观看成人| 国产99视频精品免视看7|