我一直在尝试理解https://golang.org/doc/codewalk/sharemem/ 中的代码 虽然我得到了关于通过通道传递资源的大部分内容,但我无法理解程序运行的无限循环. 当 poller 函数中的“in”通道(从 main 函数接收)只运行 3 个 poller go 例程时,程序如何无限执行 Poller 函数?
我得到 StateMonitor 具有无限循环匿名 go 函数的想法。但是它不能在没有从轮询函数接收的情况下更新 LogState。我假设程序无限地执行对 url 的 Get 请求。
为了确认我的理解没有错,我通过打开和关闭 wifi 来测试该程序,以查看日志是否发生变化。令我惊讶的是,它确实进行了几次迭代,但之后它停止响应我的更改并继续显示相同的日志。那么,这是否意味着程序有问题?还是我没有理解一些基本概念?
aluckdog
慕田峪7331174
相关分类