gpt4 book ai didi

concurrency - 多个 goroutine 打印到标准输出是否安全?

转载 作者:IT老高 更新时间:2023-10-28 13:02:19 25 4
gpt4 key购买 nike

我的程序中有多个 goroutine,每个 goroutine 都调用 fmt.Println 而没有任何显式同步。这是安全的(即,每一行是否会单独显示而不会损坏数据),还是我需要创建另一个具有同步功能的 goroutine 来专门处理打印?

最佳答案

不,即使您有时可能观察不到任何问题,这也不安全。 IIRC,fmt 包试图保证安全,因此可能会发生某种混合,但希望不会出现进程崩溃。

这是更通用的 Go 文档规则的一个实例:除非另有说明或从上下文中显而易见,否则事物对于并发访问是不安全的。

通过一些小的初始设置,使用 log 包可以获得 fmt.Print* 功能子集的安全版本。

关于concurrency - 多个 goroutine 打印到标准输出是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14694088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com