去哪儿面试题 (Golang实现)多线程顺序输出1-75

FredricZhu ·
这道题感觉就是傻逼题目,go 协程 刻意就是没有顺序的,在怎么控制,效率都没高多少,用加锁的形式输出,还不如主线程速度快,控制顺序 逃不了 要抢锁别无他法
#9
更多评论
``` var a struct { Mu sync.RWMutex Count int } var wg sync.WaitGroup func main() { wg = sync.WaitGroup{} wg.Add(75) for i:=1; i<=75; i++ { go Add() } wg.Wait() } func Add() { defer wg.Done() a.Mu.Lock() a.Count++ fmt.Println(a.Count) a.Mu.Unlock() } ```
#1
输出结果不稳定,也就是说结果不对
#2