互斥锁

package main

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

var mux sync.Mutex

func Printer(s string) {
    mux.Lock()
    for _, v := range s {
        fmt.Printf("%c", v)
        time.Sleep(300 * time.Millisecond)
    }
    mux.Unlock()
}
func main() {
    go Printer("hello")
    Printer("world")

    for {

    }
}

读写锁

读时共享,写时独占,写锁优先级比读锁高
在go语言中尽量不要将互斥锁读写锁和channel混用 有可能造成隐性死锁


来自为知笔记(Wiz)

上一篇:SQL——分组操作符与聚集函数(数据统计2)


下一篇:java 打印pdf文件