我知道goroutine是多路复用到多个OS线程上的,因此,如果一个应阻塞,例如在等待I / O时,其他将继续运行。但是,有什么方法可以提前知道如果我要创建n个goroutines会产生多少个线程?
例如,如果我们调用下面的函数,我们将知道将为n个goroutine创建多少(或最大数量)系统线程:
type Vector []float64
// Apply the operation to n elements of v starting at i.
func (v Vector) DoSome(i, n int, u Vector, c chan int) {
for ; i < n; i++ {
v[i] += u.Op(v[i])
}
c <- 1; // signal that this piece is done
}
慕尼黑5688855
慕无忌1623718
扬帆大鱼
相关分类