我的程序中有多个goroutine,每个goroutine都进行调用而fmt.Println没有任何显式同步。这样安全吗(即,每行将单独出现而不会破坏数据),还是我需要创建另一个带有同步的goroutine来专门处理打印?
3 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
不,即使您有时可能没有发现任何麻烦,也不安全。IIRC,fmt软件包试图处于安全状态,因此可能会发生某种混合,但希望不会导致进程崩溃。
这是更通用的Go文档规则的一个实例:除非另有指定或从上下文中可以明显看出,否则对于并发访问而言,事物并不安全。
可以使用带有少量初始设置的日志包来获得fmt.Print *功能的子集的安全版本。
- 3 回答
- 0 关注
- 209 浏览
添加回答
举报
0/150
提交
取消