在 Go 语言中,Goroutine 是一种轻量级线程,它可以在后台执行并发任务。当我们使用 Goroutine 时,我们需要确保在不再需要它们时正确地关闭它们,以避免资源泄漏和不必要的消耗。本文将介绍如何优雅地关闭 Goroutine,确保线程的正确退出。
在 Go 中,我们通常使用通道(channel)来进行 Goroutine 之间的通信和同步。通过在通道中发送特定的信号,可以实现关闭 Goroutine 的有效机制。下面是一个示例代码,演示了如何通过通道来关闭 Goroutine:
package main
import (
"fmt"
"time"
)
func worker(done