我有一个程序可以做两件事:
读取日志条目并创建logEntry
对象
处理每个logEntry
实例
在这里,读取由单独的 goroutine 完成,所有读取条目的处理由单个 goroutine 完成。
我正在使用等待组——wg
确保在程序退出之前读取所有日志条目,并使用信号通道——done
确保日志条目的处理完成。
等待组按预期工作,但是当我调用<-done
以确保程序仅在处理读取的日志文件后退出时,它会抛出错误fatal error: all goroutines are asleep - deadlock!
。
有人可以解释为什么会发生这种情况以及如何解决上述错误吗?
肥皂起泡泡
相关分类