日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell 多线程

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell 多线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

普通多線程(準確的講應該是多進程),這種模式 并發大的時候會報錯,影響運行速度

不可控制線程的數量

#!/bin/bashfor i in {1..254}do

    #后臺運行,每次都創建新的線程(進程)
{ip=192.168.179.$iping -c1 -W1 $ip &> /dev/nullif [ $? -eq 0 ];thenecho "$ip is up!!"elseecho "$ip is down"fi}&donewaitecho "all funish..."

?

文件描述符多線程(準確的講是多進程),可以控制線程的數量

#!/bin/bash #線程數 thread=5
#零時文件 tmp_fifofile=/tmp/$$.fifo #創建管道文件 mkfifo $tmp_fifofile
#打開管道文件設置描述符為8,也可以是其他 exec
8<> $tmp_fifofile
#刪除文件,文件刪除,文件描述符還是存在的,主要用到了文件描述符(文件沒有用就刪除了)
rm $tmp_fifofilefor i in `seq $thread`do
#文件描述符寫入空格占位(寫入其他內容也可以,只要寫入就能占位 echo >&8 donefor i in {1..254}do #讀取文件描述符read -u 8{ip=192.168.179.$iping -c1 -W1 $ip &> /dev/nullif [ $? -eq 0 ];thenecho "$ip is up!!"elseecho "$ip is down"fi #讀取完,再寫入占位,放入管道echo >&8}&done #等待線程 wait

#釋放文件描述符
exec 8>&-echo "all funish..."

?

轉載于:https://www.cnblogs.com/zhoufly-blog/p/11456122.html

總結

以上是生活随笔為你收集整理的shell 多线程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。