[agent-go] 开始使用GO重构Agent部分

This commit is contained in:
zeaslity
2023-03-20 14:51:38 +08:00
parent 41de603234
commit 4961a4ddc7
13 changed files with 197 additions and 159 deletions

View File

@@ -0,0 +1,37 @@
package main
import "fmt"
func sum(start, end uint64, result chan uint64) {
var sum uint64 = 0
for i := start; i <= end; i++ {
sum += i
}
result <- sum
}
func main() {
const n uint64 = 5000000000
var numCPU int = 4
result := make(chan uint64, numCPU)
var chunkSize uint64 = n / uint64(numCPU)
var start uint64 = 1
var end uint64 = chunkSize
for i := 0; i < numCPU; i++ {
go sum(start, end, result)
start = end + 1
end += chunkSize
}
var total uint64 = 0
for i := 0; i < numCPU; i++ {
partialSum := <-result
total += partialSum
}
fmt.Println(total)
}