为了账号安全,请及时绑定邮箱和手机立即绑定

测试包含锁的函数时,Go 应用程序挂起

测试包含锁的函数时,Go 应用程序挂起

Go
慕工程0101907 2021-09-09 15:02:12
这是我编写的将请求添加到请求队列的函数:func (self *RequestQueue) addRequest(request *Request) {    self.requestLock.Lock()    self.queue[request.NormalizedUrl()] = request.ResponseChannel    self.requestLock.Unlock()}这是它的测试之一:func TestAddRequest(t *testing.T) {    before := len(rq.queue)    r := SampleRequests(1)[0]    rq.addRequest(&r)    if (len(rq.queue) - 1) != before {        t.Errorf("Failed to add request to queue")    }}当我运行此测试时,应用程序挂起。如果我注释掉这个测试,一切正常。我认为问题在于函数内部的锁定。有什么我做错了吗?谢谢你的帮助!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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