From b989fc77f39b62cf91b4909964e8e0a2c52bbf93 Mon Sep 17 00:00:00 2001 From: qydysky Date: Wed, 18 Nov 2020 07:19:44 +0800 Subject: [PATCH] 92 --- msgq/Msgq.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/msgq/Msgq.go b/msgq/Msgq.go index 0f0761b..d0fdc2e 100644 --- a/msgq/Msgq.go +++ b/msgq/Msgq.go @@ -7,15 +7,19 @@ type msgq struct { func New() (*msgq) { l := new(msgq) - (*l).o = make(chan interface{}) - (*l).men = make(chan bool) + (*l).o = make(chan interface{},1e9) + (*l).men = make(chan bool,1e9) return l } func (m *msgq) Push(msg interface{}) { - if len(m.men) == 0 {return} - for <- m.men { + num := len(m.men) + for len(m.men) != 0 { + <- m.men + } + for num > 0 { m.o <- msg + num -= 1 } for len(m.o) != 0 { <- m.o -- 2.39.2