日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)GO教程:goroutine和coroutine的區(qū)別

C#、Lua、 Python 語(yǔ)言都支持 coroutine 特性。coroutine 與 goroutine 在名字上類(lèi)似,都可以將函數(shù)或者語(yǔ)句在獨(dú)立的環(huán)境中運(yùn)行,但是它們之間有兩點(diǎn)不同:

  • goroutine 可能發(fā)生并行執(zhí)行;
  • 但 coroutine 始終順序執(zhí)行。

goroutines 意味著并行(或者可以以并行的方式部署),coroutines 一般來(lái)說(shuō)不是這樣的,goroutines 通過(guò)通道來(lái)通信;coroutines 通過(guò)讓出和恢復(fù)操作來(lái)通信,goroutines 比 coroutines 更強(qiáng)大,也很容易從 coroutines 的邏輯復(fù)用到 goroutines。

狹義地說(shuō),goroutine 可能發(fā)生在多線程環(huán)境下,goroutine 無(wú)法控制自己獲取高優(yōu)先度支持;coroutine 始終發(fā)生在單線程,coroutine 程序需要主動(dòng)交出控制權(quán),宿主才能獲得控制權(quán)并將控制權(quán)交給其他 coroutine。

goroutine 間使用 channel 通信,coroutine 使用 yield 和 resume 操作。

goroutine 和 coroutine 的概念和運(yùn)行機(jī)制都是脫胎于早期的操作系統(tǒng)。

coroutine 的運(yùn)行機(jī)制屬于協(xié)作式任務(wù)處理,早期的操作系統(tǒng)要求每一個(gè)應(yīng)用必須遵守操作系統(tǒng)的任務(wù)處理規(guī)則,應(yīng)用程序在不需要使用 CPU 時(shí),會(huì)主動(dòng)交出 CPU 使用權(quán)。如果開(kāi)發(fā)者無(wú)意間或者故意讓?xiě)?yīng)用程序長(zhǎng)時(shí)間占用 CPU,操作系統(tǒng)也無(wú)能為力,表現(xiàn)出來(lái)的效果就是計(jì)算機(jī)很容易失去響應(yīng)或者死機(jī)。

goroutine 屬于搶占式任務(wù)處理,已經(jīng)和現(xiàn)有的多線程和多進(jìn)程任務(wù)處理非常類(lèi)似。應(yīng)用程序?qū)?CPU 的控制最終還需要由操作系統(tǒng)來(lái)管理,操作系統(tǒng)如果發(fā)現(xiàn)一個(gè)應(yīng)用程序長(zhǎng)時(shí)間大量地占用 CPU,那么用戶有權(quán)終止這個(gè)任務(wù)。


文章標(biāo)題:創(chuàng)新互聯(lián)GO教程:goroutine和coroutine的區(qū)別
本文路徑:http://www.dlmjj.cn/article/dhsgihc.html