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)
|
|||
|
}
|