我想找到一个队列结构(一个数据容器),它的元素必须是先进先出的。对我来说,结构必须是线程安全的很重要。我打算将此数据容器用作任务或连接池之类的东西。
我知道缓冲 channel 是线程安全的,但我想知道它是否可以用作 FIFO,尤其是在并发情况下。
如果可以将缓冲 channel 用作线程安全队列,我是否需要担心它的效率?
最佳答案
在 Go 中,缓冲 channel 就是:线程安全的 FIFO 队列,因此您尝试做的事情是完全有效的。使用这种方法根本不会出现性能问题。
关于queue - 是否可以将 Go 的缓冲 channel 用作线程安全队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424144/