Go 并发之互斥锁

2020-03-02  本文已影响0人  三梦哥

在 Go 语言中使用sync.Mutex 来实现互斥锁,示例代码如下:

package main

import (
    "fmt"
    "sync"
)

var (
    wg   sync.WaitGroup
    lock sync.Mutex
    data int64
)

func process() {
    defer lock.Unlock()
    defer wg.Done()
    lock.Lock()
    data++
}

func main() {
    for i := 0; i < 10000; i++ {
        wg.Add(1)
        go process()
    }
    wg.Wait()
    fmt.Println(data)
}

输出结果为:


输出结果
上一篇 下一篇

猜你喜欢

热点阅读