Golang - 并发
Goroutine Goroutine是一个轻量级的独立任务执行单元。 想象一下你是一个项目经理(主程序 main 函数),你有很多任务需要完成。 * 传统方式(没有并发): 你必须亲力亲为,做完任务A,才能开始任务B,再开始任务C。效率很低。 * 传统多线程方式: 你可以雇佣几个全职员工(操作系统线程)。每个员工都很能干,但雇佣和管理他们(创建、销毁、切换)的成本很高,比如要给他们配独立的办公室、电脑等(独立的内存堆栈,系统资源开销大)。你雇不了太多员工。 * Go 协程方式: 你雇佣了一个总管(Go 运行时),然后你只需要把任务写在小纸条上,交给总管。总管手下有一群临时工(Goroutines),他们非常轻量,只需要一张小板凳就能坐下干活(内存占用极小,通常只有几 KB)。你下达一个指令 go doSomething(),总管就会派一个临时工去做。成千上万个临时工对他来说都不是问题,管理成本极低。 创建 Goroutine…