已知,当select 存在多个 case时会随机选择一个满足条件的case执行。现在我们有一个需求:我们有一个函数会持续不间断地从ch1和ch2中分别接收任务1和任务2,如何确保当ch1和ch2同时达到就绪状态时,优先执行任务1,在没有任务1的时候再去执行任务2呢?
func worker2(ch1, ch2 <-chan int, stopCh chan struct{
}) {
for {
select {
已知,当select 存在多个 case时会随机选择一个满足条件的case执行。现在我们有一个需求:我们有一个函数会持续不间断地从ch1和ch2中分别接收任务1和任务2,如何确保当ch1和ch2同时达到就绪状态时,优先执行任务1,在没有任务1的时候再去执行任务2呢?
func worker2(ch1, ch2 <-chan int, stopCh chan struct{
}) {
for {
select {