Не могу добиться, чтобы такой код заработал параллельно.
Кто знает что я делаю не так?
package main
import (
"fmt"
"time"
)
func main() {
t1 := time.Now()
s1 := make(chan int)
s2 := make(chan int)
s3 := make(chan int)
go summ1(s1)
go summ2(s2)
go summ3(s3)
r1 := <-s1
r2 := <-s2
r3 := <-s3
fmt.Println(r1)
fmt.Println(r2)
fmt.Println(r3)
fmt.Println("elapsedTime:", time.Now().Sub(t1))
}
func summ1(summ chan int) {
var sum int
for i := 0; i < 1000000000; i++ {
sum += i
}
summ <- sum
}
func summ2(summ chan int) {
var sum int
for i := 0; i < 1000000001; i++ {
sum += i
}
summ <- sum
}
func summ3(summ chan int) {
var sum int
for i := 0; i < 1000000002; i++ {
sum += i
}
summ <- sum
}