[在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之外按预期运行需要什么?
@distributed
没有阻止,因此Julia进程在写入任何文件之前完成。尝试
using Distributed
@sync @distributed for k = 1:4
println("Creating file ", k)
write(string("file_", k), "foo")
end
代替。