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

go语言bufio.NewReader(os.Stdin) 阻塞了goroutine调度,怎么解决?

go语言bufio.NewReader(os.Stdin) 阻塞了goroutine调度,怎么解决?

慕尼黑5688855 2019-06-20 10:52:22
问题描述两个goroutine,一个goroutine中做键盘的输入,另一个goroutine做其它数据处理。运行后,如果我不输入数据,另一个goroutine也停止运行了。也没调度。我希望即使我不输入数据,也不要影响另一个goroutine。问题出现的环境背景及自己尝试过哪些方法相关代码//请把代码文本粘贴到下方(请勿用图片代替代码)packagemainimport("fmt""os""bufio""math/rand")funcmain(){msgChan:=make(chanstring)roundChan:=make(chanint)sleepChan:=make(chanbool)goinput(msgChan)goroundNum(roundChan)goScheduler(msgChan,roundChan)
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

我把你的排版和标签都修改了,以后提问问题需要注意
根据你的描述,我猜测你想问的是fmt.Println(round)这个为啥一直不执行是吧。
肯定会打印一次,因为你的roundNum函数执行一次,发送了一个消息;然后它之后就退出了,所以以后你再也见不到它了;所以也没所以了
                            
查看完整回答
反对 回复 2019-06-20
  • 2 回答
  • 0 关注
  • 443 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信