锁
互斥锁
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混用 有可能造成隐性死锁 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号