golang bufio goroutine安全吗

golang bufio goroutine安全吗,go,Go,多个goroutine可以同时调用bufio Read函数。我读了bufio的源代码,看起来它没有合适的方法来保护缓冲区,因为缓冲区只能由一个goroutine读取。不,从缓冲区读取不是线程安全的操作。你必须管理协调。事实是,从缓冲区读取数据会修改它的状态——实际上并没有任何合理的方法可以同时执行。有一个位置标记必须在读取结束时移动,以便在第一次读取完成之前不能开始第二次读取

多个goroutine可以同时调用bufio Read函数。我读了bufio的源代码,看起来它没有合适的方法来保护缓冲区,因为缓冲区只能由一个goroutine读取。

不,从缓冲区读取不是线程安全的操作。你必须管理协调。事实是,从缓冲区读取数据会修改它的状态——实际上并没有任何合理的方法可以同时执行。有一个位置标记必须在读取结束时移动,以便在第一次读取完成之前不能开始第二次读取