我有以下代码:
package main
import(
"log"
"os"
)
type LogFilter struct {}
func (t *LogFilter) Write(p []byte) (int, error) {
_ = log.Flags()
return os.Stderr.Write(p)
}
func main() {
log.SetOutput(&LogFilter{})
log.Println("Hello, playground")
}
由于http://golang.org/src/pkg/log/log.go第 135 行导致的死锁将锁定推迟到写入之后。在写入中,我调用了试图获取锁的 Flags。
他们(写入和标志)是否应该共享相同的互斥锁?
冉冉说
相关分类