Linux系统运维:http://www.linuxyw.com,QQ交流群:244914685

Linux系统运维

当前位置: 首页 > 脚本 >

Linux shell 实现多线程

时间:2013-04-03 23:31来源:转载 作者:网络 点击:
在bash中,使用后台任务来实现任务的“多进程化”。在不加控制的模式下,不管有多少 任务,全部都后台执行。也就是说,在这种情况下,有多少任务就有多少“进程”在同时执行

转载请注明出处: Linux系统运维 http://www.linuxyw.com/linux/jiaoben/20130403/16.html


在bash中,使用后台任务来实现任务的“多进程化”。在不加控制的模式下,不管有多少 任务,全部都后台执行。也就是说,在这种情况下,有多少任务就有多少“进程”在同时执行。我们就先实现第一种情况:

实例一:正常情况脚本

 

linux <wbr>shell <wbr>实现多线程# !/bin/bash 
linux <wbr>shell <wbr>实现多线程 
linux <wbr>shell <wbr>实现多线程 for  ((i = 0 ;i < 5 ;i ++ )); do 
linux <wbr>shell <wbr>实现多线程         {
linux <wbr>shell <wbr>实现多线程                  sleep   3 ;echo  1 >> aa  &&  echo  " done! " 
linux <wbr>shell <wbr>实现多线程         } 
linux <wbr>shell <wbr>实现多线程 done
linux <wbr>shell <wbr>实现多线程 wait 
linux <wbr>shell <wbr>实现多线程 cat aa | wc  - l
linux <wbr>shell <wbr>实现多线程 rm aa

 

这种情况下,程序顺序执行,每个循环3s,共需15s左右。

 

linux <wbr>shell <wbr>实现多线程$  time  bash test . sh 
linux <wbr>shell <wbr>实现多线程 done ! 
linux <wbr>shell <wbr>实现多线程 done ! 
linux <wbr>shell <wbr>实现多线程 done ! 
linux <wbr>shell <wbr>实现多线程 done ! 
linux <wbr>shell <wbr>实现多线程 done ! 
linux <wbr>shell <wbr>实现多线程 5 
linux <wbr>shell <wbr>实现多线程
linux <wbr>shell <wbr>实现多线程 real    0m15 . 030s
linux <wbr>shell <wbr>实现多线程 user    0m0 . 002s
linux <wbr>shell <wbr>实现多线程 sys     0m0 . 003s

 

实例二:“多进程”实现

 

linux <wbr>shell <wbr>实现多线程# !/bin/bash 
linux <wbr>shell <wbr>实现多线程 
linux <wbr>shell <wbr>实现多线程 for  ((i = 0 ;i < 5 ;i ++ )); do 
linux <wbr>shell <wbr>实现多线程         {
linux <wbr>shell <wbr>实现多线程                  sleep   3 ;echo  1 >> aa  &&  echo  " done! " 
linux <wbr>shell <wbr>实现多线程         }  & 
linux <wbr>shell <wbr>实现多线程 done

本文来自linux系统运维http://www.linuxyw.com/linux/jiaoben/20130403/16.html

顶一下
(0)
0%
踩一下
(0)
0%
分享按钮
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片