91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Golang中怎么創建和管理goroutine

小億
86
2024-03-13 17:50:54
欄目: 編程語言

在Golang中,可以使用關鍵字go來創建一個goroutine。一個goroutine是一個輕量級的線程,它可以并發執行代碼。

下面是一個簡單的例子,展示如何創建一個goroutine:

package main

import (
	"fmt"
	"time"
)

func sayHello() {
	for i := 0; i < 5; i++ {
		fmt.Println("Hello")
		time.Sleep(1 * time.Second)
	}
}

func main() {
	go sayHello()

	fmt.Println("Main function")
	time.Sleep(2 * time.Second)
}

在上面的例子中,sayHello函數被包裝在一個goroutine中,通過go sayHello()來創建一個goroutine。在main函數中,我們也打印了一條消息并讓主函數休眠2秒,以便給goroutine一些時間來執行。

如果想要管理goroutine,可以使用sync.WaitGroup來等待goroutine的執行結束。下面是一個例子:

package main

import (
	"fmt"
	"sync"
)

func sayHello(wg *sync.WaitGroup) {
	defer wg.Done()
	fmt.Println("Hello")
}

func main() {
	var wg sync.WaitGroup
	wg.Add(1)

	go sayHello(&wg)

	wg.Wait()
	fmt.Println("Main function")
}

在上面的例子中,我們創建了一個sync.WaitGroup,并在goroutine中調用wg.Done()來標記goroutine的完成。在main函數中,我們使用wg.Wait()來等待goroutine的執行結束。

通過以上方法,我們可以創建和管理goroutine。需要注意的是,goroutine是輕量級的線程,因此可以創建大量的goroutine來實現并發執行。

0
华宁县| 都兰县| 绍兴县| 茂名市| 南江县| 平阴县| 廊坊市| 麟游县| 安丘市| 新民市| 武汉市| 和静县| 宁武县| 金溪县| 天峨县| 双柏县| 体育| 北宁市| 唐河县| 什邡市| 青铜峡市| 中宁县| 临夏市| 腾冲县| 隆安县| 平阴县| 平谷区| 吐鲁番市| 日喀则市| 曲靖市| 江北区| 舟山市| 徐州市| 云龙县| 安溪县| 阿拉尔市| 南澳县| 沧州市| 清远市| 丰宁| 卢湾区|