关闭

Go语言的排它锁sync.Mutex

574人阅读 评论(0) 收藏 举报
分类:
package main

import (
    "fmt"
    "sync"
    "time"
)

var m *sync.Mutex

func main() {
    m = new(sync.Mutex)

    go lock(1)
    time.Sleep(time.Second)

    lock(2)

    fmt.Printf("%s\n", "exit!")
}

func lock(i int){
    println(i, "lock start")

    m.Lock()
    println(i, "lock")

    time.Sleep(10 * time.Second)

    m.Unlock()
    println(i, "unlock")
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:691379次
    • 积分:15923
    • 等级:
    • 排名:第712名
    • 原创:572篇
    • 转载:511篇
    • 译文:0篇
    • 评论:65条
    最新评论