通道的关闭和广播机制测试

  包csp      导入(   “fmt”   “同步”   “测试”   )/*函数dataProducer (ch成龙int, wg * sync.WaitGroup) {   去func () {   我:=0;我& lt;10;我+ + {   ch & lt;——我   }   wg.Done ()   }()   }      func dataReceiver (ch成龙int, wg * sync.WaitGroup) {   去func () {   我:=0;我& lt;10;我+ + {   数据:=& lt; ch   fmt.Println(数据)   }   wg.Done ()   }()      }      func TestChannelClose (t * testing.T) {   陈ch:=(int)   var wg sync.WaitGroup   wg.Add (1)   dataProducer (ch, wg)   wg.Add (1)   dataReceiver (ch, wg)   wg.Wait ()   } */func dataProducer (ch成龙int, wg * sync.WaitGroup) {   去func () {   我:=0;我& lt;10;我+ + {   ch & lt;——我   }   关上(ch)//没有加closepanic了   wg.Done ()   }()   }      func dataReceiver (ch成龙int, wg * sync.WaitGroup) {   去func () {   为{   如果数据吧:=& lt; ch;好{   fmt.Println(数据)      其他}{   打破   }   }   wg.Done ()   }()      }      func TestChannelClose (t * testing.T) {   陈ch:=(int)   var wg sync.WaitGroup   wg.Add (1)   dataProducer (ch, wg)   wg.Add (1)   dataReceiver (ch, wg)//wg.Add (1)//dataReceiver (ch, wg)//wg.Add (1)//dataReceiver (ch, wg)   wg.Wait ()   }/*在去测试   0   1   2   3.   4   5   6   7   8   9   通过   好了0.249秒      比;*//*   func TestChannelClose (t * testing.T) {   陈ch:=(int)   var wg sync.WaitGroup   wg.Add (1)   dataProducer (ch, wg)   wg.Add (1)   dataReceiver (ch, wg)   wg.Add (1)   dataReceiver (ch, wg)   wg.Add (1)   dataReceiver (ch, wg)   wg.Wait ()   }   在去测试   0   1   4   5   6   7   8   9   3.   2   通过   好了0.360秒      比;*/


通道的关闭和广播机制测试