goroutines은 여러 OS 스레드에 다중화되어 있으므로 I/O를 기다리는 동안 차단해야하는 경우 다른 스레드는 계속 실행됩니다. 그러나 n goroutines를 만들려면 얼마나 많은 스레드를 생성할지 미리 알 수있는 방법이 있습니까? 우리는 아래의 기능은 우리가 시스템 스레드 N goroutines에 대해 만들 수 얼마나 많은 (또는의 최대 수) 알 것입니다 호출하면주어진 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
}
지금까지 단 두 개의 관련 (험담, 비 괴짜) GO 질문 중 하나에 +1 +1 –
그저 for 루프입니다. 동시성, 훨씬 적은 병렬성을 표현하지도 않습니다. – Dustin