]> 127.0.0.1 Git - part/.git/commitdiff
92
authorqydysky <qydysky@foxmail.com>
Tue, 17 Nov 2020 23:19:44 +0000 (07:19 +0800)
committerqydysky <qydysky@foxmail.com>
Tue, 17 Nov 2020 23:19:44 +0000 (07:19 +0800)
msgq/Msgq.go

index 0f0761bfb438d201d9241f5049e4ac8f5937b41c..d0fdc2e5066de751837f59b3bec0c85ed0572ca2 100644 (file)
@@ -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