From b27dd91d56afd16165553eb89aa8228bd3ae4b92 Mon Sep 17 00:00:00 2001 From: qydysky Date: Wed, 18 Nov 2020 06:55:21 +0800 Subject: [PATCH] 92 --- msgq/Msgq.go | 14 ++------------ msgq/Msgq_test.go | 15 ++++----------- 2 files changed, 6 insertions(+), 23 deletions(-) diff --git a/msgq/Msgq.go b/msgq/Msgq.go index bfdddc1..0f0761b 100644 --- a/msgq/Msgq.go +++ b/msgq/Msgq.go @@ -5,8 +5,6 @@ type msgq struct { men chan bool } -type cancle int - func New() (*msgq) { l := new(msgq) (*l).o = make(chan interface{}) @@ -24,15 +22,7 @@ func (m *msgq) Push(msg interface{}) { } } -func (m *msgq) Pull(cancleId int) (o interface{}) { +func (m *msgq) Pull() (o interface{}) { m.men <- true - for { - o = <- m.o - if v,ok := o.(cancle);!ok || int(v) != cancleId {break} - } - return + return <- m.o } - -func (m *msgq) Cancle(cancleId int) { - m.Push(cancle(cancleId)) -} \ No newline at end of file diff --git a/msgq/Msgq_test.go b/msgq/Msgq_test.go index 7c7a4d9..83868b7 100644 --- a/msgq/Msgq_test.go +++ b/msgq/Msgq_test.go @@ -8,20 +8,13 @@ import ( func Test_msgq(t *testing.T) { mq := New() go func(){ - for mq.Pull(0).(string) == `mmm` {;} + for mq.Pull().(string) == `mmm` {;} t.Error(`0`) - }() + }() go func(){ - for { - o := mq.Pull(1) - if o.(string) == `mmm` || o == nil {continue} - break - } - t.Error(`1`) + for mq.Pull().(string) == `mmm` {;} + t.Error(`0`) }() p.Sys().Timeoutf(1) mq.Push(`mmm`) - p.Sys().Timeoutf(1) - mq.Cancle(1) - mq.Push(`mmm`) } -- 2.39.2