国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

App下載

能否解釋下什么是進(jìn)程、線(xiàn)程、協(xié)程,他們之間的關(guān)系是怎樣的?

享受養(yǎng)生的年輕人 2021-12-15 14:24:51 瀏覽數(shù) (3352)
反饋

進(jìn)程: 本質(zhì)上是一個(gè)獨(dú)立執(zhí)行的程序,進(jìn)程是操作系統(tǒng)進(jìn)行資源分配和調(diào)度的基本概念,操作系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。


線(xiàn)程: 是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。一個(gè)進(jìn)程中可以并發(fā)多個(gè)線(xiàn)程,每條線(xiàn)程執(zhí)行不同的任務(wù),切換受系統(tǒng)控制。


協(xié)程:  又稱(chēng)為微線(xiàn)程,是一種用戶(hù)態(tài)的輕量級(jí)線(xiàn)程,協(xié)程不像線(xiàn)程和進(jìn)程需要進(jìn)行系統(tǒng)內(nèi)核上的上下文切換,協(xié)程的上下文切換是由用戶(hù)自己決定的,有自己的上下文,所以說(shuō)是輕量級(jí)的線(xiàn)程,也稱(chēng)之為用戶(hù)級(jí)別的線(xiàn)程就叫協(xié)程,一個(gè)線(xiàn)程可以多個(gè)協(xié)程,線(xiàn)程進(jìn)程都是同步機(jī)制,而協(xié)程則是異步Java的原生語(yǔ)法中并沒(méi)有實(shí)現(xiàn)協(xié)程,目前python、Lua和GO等語(yǔ)言支持。


關(guān)系:一個(gè)進(jìn)程可以有多個(gè)線(xiàn)程,它允許計(jì)算機(jī)同時(shí)運(yùn)行兩個(gè)或多個(gè)程序。線(xiàn)程是進(jìn)程的最小執(zhí)行單位,CPU
的調(diào)度切換的是進(jìn)程和線(xiàn)程,進(jìn)程和線(xiàn)程多了之后調(diào)度會(huì)消耗大量的CPU,CPU上真正運(yùn)行的是線(xiàn)程,線(xiàn)程可
以對(duì)應(yīng)多個(gè)協(xié)程。


協(xié)程對(duì)于多線(xiàn)程有什么優(yōu)缺點(diǎn)嗎?

優(yōu)點(diǎn):
非??焖俚纳舷挛那袚Q,不用系統(tǒng)內(nèi)核的上下文切換,減小開(kāi)銷(xiāo)。
單線(xiàn)程即可實(shí)現(xiàn)高并發(fā),單核CPU可以支持上萬(wàn)的協(xié)程。
由于只有一個(gè)線(xiàn)程,也不存在同時(shí)寫(xiě)變量的沖突,在協(xié)程中控制共享資源不需要加鎖。


缺點(diǎn):
協(xié)程無(wú)法利用多核資源,本質(zhì)也是個(gè)單線(xiàn)程。
協(xié)程需要和進(jìn)程配合才能運(yùn)行在多CPU上。
目前java沒(méi)成熟的第三方庫(kù),存在風(fēng)險(xiǎn)。
調(diào)試debug存在難度,不利于發(fā)現(xiàn)問(wèn)題。


0 人點(diǎn)贊