iT邦幫忙

DAY 19
0

蠻可愛的 Golang系列 第 19

sync package

在前面介紹的goroutine,用go指令啟動後,
我們的Main()尚未能進行較細的控制.
今天介紹sync package,來對gorutine做一些控制.

來看油達大師vs玉面飛鷹,油達大師能夠砍到玉面飛鷹嗎??

// hello72
package main

import (
	"fmt"
	"sync"
)

func main() {
	var wg sync.WaitGroup
	wg.Add(2)
	fmt.Println("Start Goroutines!")

	go func() {
		defer wg.Done()
		fmt.Println("油達大師出招!")
	}()

	go func() {
		defer wg.Done()
		fmt.Println("玉面飛鷹起飛!")
	}()

	fmt.Println("Waiting To Finish")
	wg.Wait()
	fmt.Println("Done!")

}

執行結果:

./hello72 
Start Goroutines!
Waiting To Finish
油達大師出招!
玉面飛鷹起飛!
Done!

看來是油達大師先出招啊~~~~
不過油達大師大概心地善良,並未把玉面飛鷹砍了~~~~


上一篇
Concurrent程式設計之 檢查channel是否已關閉
下一篇
goroutine之間的切換
系列文
蠻可愛的 Golang30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言