当前位置:K88软件开发文章中心编程语言非主流编程语言Julia → 文章内容

Julia 运行外部程序

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 16:28:26

erl -le '$|=1; for(0..9){ print; sleep 1 }'` |> prefixer("A",2) & prefixer("B",2)) A 0 B 1 A 2 B 3 A 4 B 5 A 6 B 7 A 8 B 9这是一个单生产者双并发消费者的经典例子:一个 perl 进程生产从 0 至 9 的 10 行数,两个并行的进程消费这些结果,其中一个给结果加前缀 “A”,另一个加前缀 “B”。我们不知道哪个消费者先消费第一行,但一旦开始,两个进程交替消费这些行。(在 Perl 中设置 $|=1 ,可使打印表达式先清空 stdout 句柄;否则输出会被缓存并立即打印给管道,结果将只有一个消费者进程在读取。)再看个更复杂的多步的生产者-消费者的例子: julia> run(`perl -le '$|=1; for(0..9){ print; sleep 1 }'` |> prefixer("X",3) & prefixer("Y",3) & prefixer("Z",3) |> prefixer("A",2) & prefixer("B",2)) B Y 0 A Z 1 B X 2 A Y 3 B Z 4 A X 5 B Y 6 A Z 7 B X 8 A Y 9此例和前例类似,单有消费者分两步,且两步的延迟不同。强烈建议你亲手试试这些例子,看看它们是如何运行的。

上一页  [1] [2] 


Julia 运行外部程序