以下可以实现互斥锁的是?
// A
var counter int = 0
var ch = make(chan int, 1)
func Worker() {
ch <- 1
counter++
<-ch
}
// B
var counter int = 0
var ch = make(chan int)
func Worker() {
<-ch
counter++
ch <- 1
}
// C
var counter int = 0
var ch = make(chan int, 1)
func Worker() {
<-ch
counter++
ch <- 1
}
// D
var counter int = 0
var ch = make(chan int)
func Worker() {
ch <- 1
counter++
<-ch
}
答案:A
下面关于管道的描述正确的是?(单选) A: 读nil管道会panic B: 写nil管道会panic C: 读关闭的管道会panic D: 写关闭的管道会panic
答案 :D
下面函数输出什么?
func ChanCap() {
ch := make(chan int, 10)
ch <- 1
ch <- 2
fmt.Println(len(ch))
fmt.Println(cap(ch))
}
答案:
2
10