優雅地終止 Goroutine
在 Go 中,goroutine 提供並發性,允許多個任務同時執行。有時,有必要終止一個 goroutine,例如當我們需要優雅地關閉一個應用程式時。
考慮以下程式碼:
在這種情況下,主 goroutine 運行無限循環,我們希望在 stopMain 函數中停止它。我們如何實現這項目標?
解決方案在於使用通道在 goroutine 之間進行通訊。這是一個改進的程式碼片段:
我們引入了一個struct{}類型的退出通道,它可以保存一個空的結構體值。
這種機制允許我們透過退出通道向 goroutine 發送訊號來優雅地終止無限循環。
以上是如何優雅地終止 Go 中的 Goroutine?的詳細內容。更多資訊請關注PHP中文網其他相關文章!