ParseStream的问题
来源:12-5 实现ParseStream

c9870884
2023-04-09
老师,请问业务层调用parseStream后,在parseSteam里面开启一个go程,然后parseSteam返回一个管道。这里面具体的一个过程是怎么样的呀?
比如是业务层调用parseSteam后,parseSteam需不需要等待go程的解析呢?还是说可以立即返回一个管道?
第二个问题就是:如果parseSteam返回一个管道结束后,那这个parseSteam函数运行结束了,里面的go程还会在运行吗?
写回答
1回答
-
慕瓜9063200
2023-04-09
我的理解是,调用parseSteam直接返回一个管道,
for payload := range ch {}
这里遍历管道,与parse0是同步的,也就是parse解析一条数据后就放入管道,如果没有数据那么这个for循环就会阻塞,直到parse0有数据放入管道中。第二个问题,我的理解是handle这个协程只要他没有结束,那么它里面的协程也不会结束。
022023-04-10
相似问题