日期:2014-05-16  浏览次数:20635 次

Linux shell 实现多线程

在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?