如何在Julia中分配I / O以非交互方式运行循环?

问题描述 投票:0回答:1

[在foo.jl中使用以下代码:

using Distributed

@distributed for k = 1:4
    println("Creating file ", k)
    write(string("file_", k), "foo")
end

在REPL中执行include("foo.jl")将打印预期的行并创建预期的文件,但是当我退出REPL并运行时

julia foo.jl

什么也没写,也没有创建文件。

为什么会有区别,并且脚本在REPL之外按预期运行需要什么?

io julia distributed
1个回答
0
投票

@distributed没有阻止,因此Julia进程在写入任何文件之前完成。尝试

using Distributed

@sync @distributed for k = 1:4
    println("Creating file ", k)
    write(string("file_", k), "foo")
end

代替。

© www.soinside.com 2019 - 2024. All rights reserved.