goroutine是Go运行时管理的轻量级线程,用go关键字在新协程中执行函数或方法,如go functionName()、go instance.Method()或go func(){}(),示例中启动sayHello函数并发执行,需注意主协程结束会终止所有未完成goroutine,应使用sync.WaitGroup或channel进行同步以避免数据竞争。

在 Go 语言中,使用 go 关键字来启动一个协程(goroutine)。
goroutine 是 Go 运行时管理的轻量级线程。你可以把它理解为一个并发执行的任务。与操作系统线程相比,goroutine 的创建和销毁成本更低,支持高并发场景。
只需在函数或方法调用前加上 go 关键字,即可让该函数在一个新的 goroutine 中运行。
示例代码:
立即学习“go语言免费学习笔记(深入)”;
package main
<p>import (
"fmt"
"time"
)</p><p>func sayHello() {
fmt.Println("Hello from goroutine")
}</p><p>func main() {
// 启动一个 goroutine 执行 sayHello 函数
go sayHello()</p><pre class="brush:php;toolbar:false;"><pre class="brush:php;toolbar:false;">// 主协程等待片刻,确保上面的 goroutine 有机会执行
time.Sleep(100 * time.Millisecond)
fmt.Println("Main function ends")}
启动 goroutine 后,主程序不会等待它完成,除非你显式同步(例如使用 sync.WaitGroup 或通道 channel)。
基本上就这些。使用 go 关键字非常简单,但合理管理生命周期和通信才是关键。
以上就是Golanggo关键字如何启动协程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号