请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

对EchoHandler的handle方法的两点疑问

老师,我对EchoHandler的handle方法有两点疑问:

  1. 我对入参context不是很了解,我们传入前没有对context进行任何配置,在handle方法也没有进行调用,这是一种什么样的用法呢?如果不设置context参数会有什么问题呢?
  2. server.go中的sync.WaitGroup用法我理解,echo.go/Handle方法中的client.Waiting.Add(1)和client.Waiting.Done()我不太理解,感觉并没有设计到线程间的协作为什么要用waitgroup呢,老师再本节视频中6:30时所说的“不要关掉我,等我做完这个业务再关掉我”,我不太理解

感谢老师解惑~

正在回答 回答被采纳积分+3

1回答

Moody 2022-06-18 16:59:58
1 context一般是用来做协程同步的,比如说这里面可以传一个超时时间,等等。但是这里只是习惯性的传进来了,其实最后也没用到,去掉这个参数也没影响的。
2 echoHandler的close方法写的有点问题,应该要调用client的close方法(下图),这里面有等待waitgroup的逻辑。62ad940d0001797e10660480.jpg
0 回复 有任何疑惑可以回复我~
  • 提问者 sadcloud #1
    老师的意思是如果handler中的client.Waiting.Add(1)和client.Waiting.Done()是为了给之后close()方法中的做前置工作吗?
    回复 有任何疑惑可以回复我~ 2022-06-19 10:09:11
  • Moody 回复 提问者 sadcloud #2
    对的
    回复 有任何疑惑可以回复我~ 2022-06-19 11:47:19
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号