• linux命令parallel实现多进程并行计算


    需求分析:

    假设我们有三个进程A和B和C,分别对应三个运行脚本a.sh,b.sh,c.sh。

    A和B两个进程是完全独立的。

    C进行必须等待A进程和B进程都运行结束之后,才能启动C进程。

    我们现在需要写一个脚本要运行这三个程序脚本

    解决方法:

    串联【不理想】:

    view plain

    1. a.sh;  
    2. b.sh;  
    3. c.sh; 

    但是如果这三个进程都要运行特别长的时间,如果10个小时左右。

    这样的话运行总时间就需要30个小时。

    因为我们知道A和B是相互独立的所以我们应该将A和B并联起来,然后再和C串联。

    这样运行时间就优化成了20个小时。

    并联的话我们不能使用后台运行的方式,如果将A或者B后台运行了,C需要等待A和B都运行结束了才启动,但是C不知道A和B什么时候结束。

    暂时能想到的最简单的办法是引入parallel命令来解决】:

    view plain

    1. parallel -j 2 "sh a.sh" "sh b.sh";  
    2. sh c.sh 

    这样A和B就通过parallel来进行并联,等到A和B都运行结束了,parallel这个命令也就运行结束。

    然后再进行C程序。(满足我们的要求)

  • 相关阅读:
    H5上传图片
    关于mysql本地无法连接问题
    node.js、git、bootstrap等安装配置
    angularJS2-日志
    day21-python操作mysql1
    day20-正则表达式练习
    day19-python的正则表达式2
    day18-python的正则表达式
    day17-json格式转换
    day16-python常用的内置模块2
  • 原文地址:https://www.cnblogs.com/shishupeng/p/6080126.html
Copyright © 2020-2023  润新知