golang 等带协程结束
在 Go 中,协程可以通过调用 close 函数来结束。例如,下面的代码演示了如何使用一个协程和一个通道来实现一个简单的计时器:
package main
import (
"fmt"
"time"
)
func main() {
// 创建一个通道用于计时器
timer := make(chan bool)
// 启动一个协程来计时并向通道发送信号
go func() {
time.Sleep(5 * time.Second)
close(timer)
}()
// 等待计时器结束
<-timer
fmt.Println("Timer ended!")
}
在这个例子中,我们创建了一个名为 timer 的通道。我们使用一个协程来计时,并在 5 秒后调用 close 函数来结束计时器。然后,在主函数中,我们等待 timer 通道接收到信号,这意味着计时器已经结束。最后,我们打印出一条消息来表明计时器已经结束。
请注意,在 Go 中,协程和通道是非常强大的工具,可以用于实现各种并发模式和算法。在使用它们时,请确保理解它们的工作原理和最佳实践。
原文地址: http://www.cveoy.top/t/topic/uh9 著作权归作者所有。请勿转载和采集!