Press "Enter" to skip to content

go通过select简单实现超时机制处理

package main

import (
	"fmt"
	"time"
)

func main() {
	ch := make(chan int, 1)

	timeout := make(chan bool, 1)

	// 匿名超时等待函数
	go func() {
		time.Sleep(time.Second)
		timeout <- true
	}()

	// 使用 select 实现超时退出
	select {
	case <-ch:
		fmt.Println("拿到了 ch 中的数据")
	case <-timeout:
		fmt.Println("超时了,退出程序")
	}
}
发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注