日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

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

狹義地說,goroutine 可能發(fā)生在多線程環(huán)境下,goroutine 無法控制自己獲取高優(yōu)先度支持;coroutine 始終發(fā)生在單線程,coroutine 程序需要主動交出控制權(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í),會主動交出 CPU 使用權(quán)。如果開發(fā)者無意間或者故意讓應(yīng)用程序長時(shí)間占用 CPU,操作系統(tǒng)也無能為力,表現(xiàn)出來的效果就是計(jì)算機(jī)很容易失去響應(yīng)或者死機(jī)。

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


網(wǎng)頁題目:創(chuàng)新互聯(lián)GO教程:goroutine和coroutine的區(qū)別
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/dhsgihc.html