在go語(yǔ)言中,協(xié)程(goroutine)是指在后臺(tái)中運(yùn)行的輕量級(jí)執(zhí)行線程;go協(xié)程是Go中實(shí)現(xiàn)并發(fā)的關(guān)鍵組成部分。Go中提供了一個(gè)關(guān)鍵字go來(lái)創(chuàng)建一個(gè)Go協(xié)程,當(dāng)在函數(shù)或方法的調(diào)用之前添加一個(gè)關(guān)鍵字go,這樣就開(kāi)啟了一個(gè)Go協(xié)程,該函數(shù)或者方法就會(huì)在這個(gè)Go協(xié)程中運(yùn)行。
php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。
Go 協(xié)程 (goroutine) 是指在后臺(tái)中運(yùn)行的輕量級(jí)執(zhí)行線程,go 協(xié)程是 Go 中實(shí)現(xiàn)并發(fā)的關(guān)鍵組成部分。
由于 Go 協(xié)程相對(duì)于傳統(tǒng)操作系統(tǒng)中的線程 (thread) 是非常輕量級(jí)的,因此對(duì)于一個(gè)典型的 Go 應(yīng)用來(lái)說(shuō),有數(shù)以千計(jì)的 Go 協(xié)程并發(fā)運(yùn)行的情形是十分常見(jiàn)的。并發(fā)可以顯著地提升應(yīng)用的運(yùn)行速度,并且可以幫助我們編寫關(guān)注點(diǎn)分離(Separation of concerns,Soc)的代碼。
什么是 Go 協(xié)程?
我們也許在理論上已經(jīng)知曉 Go 協(xié)程是如何工作的,但是在代碼層級(jí)上,go 協(xié)程何許物也?其實(shí),go 協(xié)程看起來(lái)只是一個(gè)與其他眾 Go 協(xié)程并發(fā)運(yùn)行的一個(gè)簡(jiǎn)單函數(shù)或者方法,但是我們并不能想當(dāng)然地從函數(shù)或者方法中的定義來(lái)確定一個(gè) Go 協(xié)程,go 協(xié)程的確定還是要取決于我們?nèi)绾稳フ{(diào)用。【