golang parallel - golang 并行编程库


MIT
跨平台
Google Go

软件简介

一个golang并行编程库,用于业务聚合或重构。可以用最少的代码,将串行的函数调用并行化,无需改变函数的声明。

实现原理和demo参考github地址:https://github.com/buptmiao/parallel

使用:

以下有三种方法:testjoba,testjobb,testjobc执行并行:

import (
    "github.com/buptmiao/parallel"
)
func testJobA() string {
    return "job"
}
func testJobB(x, y int) int {
    return x + y
}
func testJobC(x int) int {
    return -x
}
func main() {
    var s string
    var x, y int
    p := parallel.NewParallel()
    p.Register(testJobA).SetReceivers(&s)
    p.Register(testJobB, 1, 2).SetReceivers(&x)
    p.Register(testJobC, 3).SetReceivers(&y)
    // block here
    p.Run()
    if s != "job" || x != 3 || y != -3{
        panic("unexpected result")
    }
}