zoukankan      html  css  js  c++  java
  • shell多线程之进程间通信

    # 这是一个简单的并发程序,有如下要求:
    # 1.有两个程序a和b,希望他们能并发执行,以节约时间
    # 2.a和b都是按照日期顺序执行,但b每日程序的前提条件是当日a的程序已经执行完毕
    #解决方案:
    # 1.创建一个文件描述符作为pipe,a程序每次执行完就把一个日期发送给pipe,然后继续执行
    # 2.b程序每次执行时先从pipe读取a的日期,如果a的日期>=b的日期,则b继续执行,否则阻塞。
    
    [ -e /tmp/fd5 ] || mkfifo /tmp/fd5
    exec 5<>/tmp/fd5
    rm -rf /tmp/fd5
    
    aFun(){
    for((i=0;i<10;i++))
    do
        echo 'a'$i
        sleep 1
        echo $i >&5
    done
    }
    
    bFun(){
    for((i=0;i<10;i++))
    do
        read -u5 j
        if [ $i -le $j ];then
                echo 'b'$i
        fi
        sleep 1
    done
    }
    ###################################################
    aFun &
    bFun
    exec 5<&-
    exec 5>&-
  • 相关阅读:
    递归神经网络 RNN 原理(上)
    递归神经网络
    队列-Python 实现
    Tableau 我常用函数整理
    代码重构(OOP)-小栗子(PyQt5)
    Python基础
    Excel 数据显示到网页
    采坑
    Python基础
    JavaScript一些对象。
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/9851245.html
Copyright © 2011-2022 走看看