溫馨提示×

Golang中怎么使用協程實現并發任務

小億
108
2024-03-14 09:17:25
欄目: 編程語言

在Golang中,可以使用關鍵字go來創建并發任務,也就是Goroutine。以下是一個簡單的示例,演示如何使用協程實現并發任務:

package main

import (
	"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.")
}

在這個示例中,我們定義了兩個簡單的任務task1task2,每個任務都是一個無限循環,每隔1秒打印一次。在main函數中,我們通過go關鍵字創建了兩個協程分別執行這兩個任務。最后,我們通過time.Sleep等待所有協程執行完成。

需要注意的是,Golang的go關鍵字會讓任務在一個新的協程中運行,不會阻塞主線程的執行,因此可以實現并發執行任務。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女