go语言基础到提高(13)-同步
生活随笔
收集整理的這篇文章主要介紹了
go语言基础到提高(13)-同步
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
defer的主要作用就是在當前函數或者方法返回之前調用一些用于收尾的函數,例如關閉文件描述符、關閉數據庫連接以及解鎖資源。
只需要在被調用的函數前邊加上go關鍵字,就可以輕松的開啟并發執行。
package mainimport ("fmt""sync""time" )var (lock sync.MutexnumSum int = 0counter int = 1 )func main() {for i := 1; i < 10; i++ {go addNum()}time.Sleep(time.Millisecond * 10) }func addNum() {lock.Lock()defer lock.Unlock()fmt.Print(counter, "*", counter, "+", numSum)counter++numSum += counter * counterfmt.Println("=", numSum)}11+0= 4
22+4= 13
33+13= 29
44+29= 54
55+54= 90
66+90= 139
77+139= 203
88+203= 284
9*9+284= 384
總結
以上是生活随笔為你收集整理的go语言基础到提高(13)-同步的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轮询、长轮询与Web Socket的前端
- 下一篇: Rust-Cargo(3)