julia如何控制并行的任务数量

小白刚接触julia,之前只会一点点小白水平的bash和Python,查了一下网上的各种julia并行计算教程,发现主要有@async/@sync@parallel,pump,@spawn/@spawnat等方法,但是相比较于之前在bash中用的parallel并行直接一次最多同时并行的任务数量,以上几种方法仿佛都不能支持限定最多并行的任务数量……另外,我的julia版本报错无@parallel这个宏(julia1.4.2),因此我选了用@async/@sync,代码如下:

    for pdbline in readlines(pdblist)
        @sync for pdbid in split(pdbline,",")
            @async getStructuretospilt(pdbid,library,singlechainDB)
        end
    end

运行这段代码(其中的变量和函数已经在前面定义)会直接导致迅速并行大量任务最终cpu高速缓存崩溃报错退出,而我放弃使用并行后则可以平稳运行,看起来很像是需要指定最高并行数量,然而我使用julia -p 3 my_script.jl这样的方式并不能控制这一数量。

感谢各位大佬阅读,恳请指教!

看样子你学的教程很乱,可能有很多不同时间的,缺少julia的一些基本知识,建议好好阅读官方教程,现在中英文都有。

julia 的并行分为协程、进程、线程,各有优缺,建议先好好自学一下

好的 谢谢 我去查一下~