GpseqVala 和 GObject 的并行库
Gpseq 是 Vala 和 GObject 的并行库,提供如下特性:
-
Work-stealing 和管理阻塞任务调度:与 Go 调度程序类似的行为
-
具有并行执行支持的用于数据处理的函数式编程:相当于 Java 的流
-
Fork-join 并行
-
并行排序
-
64 位原子操作
-
有符号整数的溢出安全算术函数
案例代码
using Gpseq;
void main () {
string[] array = {"dog", "cat", "pig", "boar", "bear"};
Seq.of_array<string>(array)
.parallel()
.filter(g => g.length == 3)
.map<string>(g => g.up())
.foreach(g => print("%s\n", g))
.wait();
}
// (possibly unordered) output:
// DOG
// CAT
// PIG
评论