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