29 lines
526 B
Go
29 lines
526 B
Go
package redistab
|
||
|
||
import (
|
||
"fmt"
|
||
"testing"
|
||
"time"
|
||
)
|
||
|
||
func TestGetProductBitMap(t *testing.T) {
|
||
// 创建一个带有缓冲区的channel
|
||
ch := make(chan int, 3)
|
||
|
||
// 启动多个监听者
|
||
for i := 1; i <= 3; i++ {
|
||
go func(i int) {
|
||
// 从channel中读取数据,并将其打印到控制台
|
||
fmt.Printf("监听器%d收到消息:%d\n", i, <-ch)
|
||
}(i)
|
||
}
|
||
|
||
// 向channel发送消息
|
||
for i := 1; i <= 5; i++ {
|
||
ch <- i
|
||
}
|
||
|
||
// 等待所有监听者处理完所有消息
|
||
time.Sleep(3*time.Second)
|
||
}
|