在golang中,每一個併發執行單元稱爲goroutine,當程序啓動時,main函數在一個單獨的goroutine中運行,(main goroutine)。新的goroutine會用go語句來建立。在語法上,go語句是一個普通的函數或方法調用前加上關鍵字go。go語句會使其語句中的函數在一個新建立的goroutine中運行。 當main routine返回時,全部的goroutine都會被直接打斷,程序退出;除了從main goroutine退出或者直接終止程序以外,沒有其餘的辦法可以讓一個goroutine來打斷另外一個goroutine的執行,可是以後能夠看到一種方式來實現這個目的;golang
經過goroutine之間的通訊來讓一個goroutine請求其它的goroutine,並被請求的goroutine自行結束執行;併發