golang parallelgolang 并行编程库

联合创作 · 2023-09-29 13:32

一个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")
    }
}
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报