Golang中怎么使用协程实现并发任务
在Golang中,可以使用关键字go
来创建并发任务,也就是Goroutine。以下是一个简单的示例,演示如何使用协程实现并发任务:
package mainimport ("fmt""time")func task1() {for i := 0; i < 5; i++ {time.Sleep(1 * time.Second)fmt.Println("Task 1: ", i)}}func task2() {for i := 0; i < 5; i++ {time.Sleep(1 * time.Second)fmt.Println("Task 2: ", i)}}func main() {go task1()go task2()// 等待协程执行完成time.Sleep(6 * time.Second)fmt.Println("All tasks are done.")}
在这个示例中,我们定义了两个简单的任务task1
和task2
,每个任务都是一个无限循环,每隔1秒打印一次。在main
函数中,我们通过go
关键字创建了两个协程分别执行这两个任务。最后,我们通过time.Sleep
等待所有协程执行完成。
需要注意的是,Golang的go
关键字会让任务在一个新的协程中运行,不会阻塞主线程的执行,因此可以实现并发执行任务。
下一篇:c语言二维数组的定义方式有哪些
golang
webacc.exe是什么文件?webacc.exe是不是病毒
WINSYS.vbs是什么文件?WINSYS.vbs是不是病毒
winssh.exe是什么文件?winssh.exe是不是病毒
wt.exe是什么文件?wt.exe是不是病毒
winsysetm.exe是什么文件?winsysetm.exe是不是病毒
winstrve.exe是什么文件?winstrve.exe是不是病毒
winsysupd7.exe是什么文件?winsysupd7.exe是不是病毒
winsysupd.exe是什么文件?winsysupd.exe是不是病毒
winsysupd2.exe是什么文件?winsysupd2.exe是不是病毒
winsysupd8.exe是什么文件?winsysupd8.exe是不是病毒