I understand that Goroutines are multiplexed onto multiple OS threads so if one should block, such as while waiting for I/O, others continue to run, but is there any way to know ahead of time how many threads I would spawn if I were to create n goroutines?
for example, if we call the funtion below below would we know how many (or the maximum) numbr of system threads would be created for increasing values of n:
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
}