linux shell多线程操作

来源:互联网 发布:香蕉网络电视手机版 编辑:程序博客网 时间:2024/06/11 14:52

原理:linux的shell命令可以实现多线程运行,并且线程间具备通信机制。

1、单线程

原理:默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令。

实例:

  1. #!/bin/bash  
  2.   
  3. for(( i = 0; i < ${count}; i++ ))  
  4. do  
  5.         commands1  
  6. done  
  7.   
  8. commands2
说明:commands2需要所有的commands1顺序执行完毕后,才可以执行。


2、多线程

方式:

{   command_x  }&

原理:大括号以内为一个子线程运行。

实例:

copy
  1. #!/bin/bash  
  2.   
  3. for(( i = 0; i < ${count}; i++ ))  
  4. do  
  5. {  
  6.         commands1  
  7. }&  
  8. done  
  9. wait  
  10.   
  11. commands2 
说明:该shell命令中全部的commands1都是并行执行的。

注意:wait函数,该函数将等待后台所有子进程结束。正是因为有了此函数,才能保证commands2在所有commands1执行完后再执行。 


0 0