我一直在寻找 C++ 中可重用的执行管道库(作业调度程序库?)。我在Boost中找不到任何东西。所以我最终找到了两个候选人:
我错过了其他候选人吗?有人用过吗?它们在并行 io 和多线程方面有多好?这些库似乎仍然缺少依赖项处理。例如,我似乎不清楚如何编写如下内容:
$ cat /dev/urandom | tr P Q | head -3
在这个非常简单的例子中,管道是自下而上的,当进程停止拉动时,第一个cat
停止执行。head
但是,在以下情况下,我看不到如何从多线程和/或并行 io 中受益:
$ cat /raid1/file1 /raid2/file2 | tr P Q > /tmp/file3
我无法说:tr
当 8 个处理器可用时在 7 个线程上执行。