美文网首页
shell类似线程数组操作

shell类似线程数组操作

作者: 悟剑声 | 来源:发表于2019-06-22 12:38 被阅读0次
    #!/bin/bash
    
    //通过管道的记录和读写 相当于实现了线程数组或者算是线程池
    //总操作次数,和同时存在线程数
    THREAD_NUM=100000
    THREAD_ARRAY=80
    
    //创建并标识管道
    Tmp=tmp
    Res=result.log
    
    rm -f $Tmp
    rm -f $Res
    mkfifo tmp 
    
    exec 9<>tmp
    
    //向管到添加内容 通过读写实现在线线程数的稳定
    for(( i=0; i<$THREAD_ARRAY; i++))
    do
        echo -ne "\n" 1>&9
    done
    
    echo "running... $(date +%s%N)"
    
    //按照总次数操作线程
    for(( i=0; i<$THREAD_NUM; i++))
    do
    {
        read -u 9
        {   
            sleep 1
            echo "running....."
            echo -ne "\n" 1>&9
        }&
    }
    done
    wait
    
    echo "exec end. $(date +%s%N)"
    

    相关文章

      网友评论

          本文标题:shell类似线程数组操作

          本文链接:https://www.haomeiwen.com/subject/zfjfwftx.html