TODO:Go语言goroutine和channel使用
生活随笔
收集整理的這篇文章主要介紹了
TODO:Go语言goroutine和channel使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
TODO:Go語言goroutine和channel使用
goroutine是Go語言中的輕量級線程實現,由Go語言運行時(runtime)管理。使用的時候在函數前面加“go”這個單詞作為關鍵詞,也是與普通函數的區別了。在函數前面加go關鍵字就可以創建一個新的goroutine進行并發執行。
go hello()
channel是Go語言提供的goroutine間的通信方式,我們可以使用channel在兩個或多個goroutine之家傳遞消息。channel使用的關鍵字是用“chan”,聲明一個傳遞類型為int的channel:
var ch chan int
下面小編舉一個例子,監聽進程被關閉后觸發的事件。
監聽信號,使用
signal.Notify(c, os.Interrupt)
第一個參數表示接收信號的channel
第二個及后面的參數表示設置要監聽的信號,如果不設置表示監聽所有的信號。
完整例子如下,本例在Ubuntu14.04的服務版測試通過。
Ctrl+c的效果如圖:
Kill進程的效果如圖
簡單的例子,希望對您有幫助。
wxgzh:ludong86
轉載于:https://my.oschina.net/todosomeone/blog/792525
總結
以上是生活随笔為你收集整理的TODO:Go语言goroutine和channel使用的全部內容,希望文章能夠幫你解決所遇到的問題。