欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

golang 控制方法的访问时间

程序员文章站 2024-01-13 19:30:16
...
package main

import (
	"time"
	"fmt"
)

func main()  {
	limitTime(funcA, 6*time.Second)
}

func limitTime(f func(),timer time.Duration)  {
	ok := make(chan struct{})
	go func() {
		f()
		ok<- struct{}{}
	}()
	select {
	case <- time.After(timer):
		fmt.Println("time out")
	case <-ok:
	}
}

func funcA()  {
	time.Sleep(time.Second*10)
	fmt.Println("there is a function")
}
相关标签: golang 超时