任务,在函数中,需要运行几个带计算的goroutines等待它们完成,但是如果函数运行超过指定的秒数,中断它的执行
最小的例子
package main
import (
"fmt"
"sync"
)
func FibonacciRecursion(n int) int {
if n <= 1 {
return n
}
return FibonacciRecursion(n-1) + FibonacciRecursion(n-2)
}
func f(i int, wg *sync.WaitGroup) {
defer wg.Done()
fmt.Println(FibonacciRecursion(45 + i))
}
func fun() {
var wg sync.WaitGroup
for i := 0; i < 3; i++ {
go f(i, &wg)
wg.Add(1)
}
wg.Wait()
println("Function ended")
}
func main() {
fun()
}
需要中断fun函数的执行,怎么办?