平行管-平行管线
该库提供了一个缓冲管道,用于结构化代码和垂直扩展应用程序。 与您可以在Internet上找到的常规管道示例的主要区别在于-管道同时执行每个步骤的所有内容,但保持顺序。 虽然,此库不使用任何锁或互斥锁,或任何其他线程同步工具。 只是渠道和goroutines。
何时使用
可以将已处理的数据分为多个块(消息),并且流程可以包含一个或多个阶段
数据应同时处理(垂直缩放)
处理消息的顺序必须保持
安装
go get github.com/nazar256/parapipe
用法
创建管道
concurrencyFactor := 5 // how many callbacks can be executed concurrently for each pipe
pipeline := parapipe . NewPipeline ( concurrencyFactor )
添