1. 程式人生 > >linux shell多執行緒操作

linux shell多執行緒操作

原理:linux的shell命令可以實現多執行緒執行,並且執行緒間具備通訊機制。

1、單執行緒

原理:預設的情況下,Shell指令碼中的命令是序列執行的,必須等到前一條命令執行完後才執行接下來的命令。

例項:

  1. #!/bin/bash  
  2. for(( i = 0; i < ${count}; i++ ))  
  3. do  
  4.         commands1  
  5. done  
  6. commands2
說明:commands2需要所有的commands1順序執行完畢後,才可以執行。

2、多執行緒

方式:

{   command_x  }&

原理:大括號以內為一個子執行緒執行。

例項:

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

注意:wait函式,該函式將等待後臺所有子程序結束。正是因為有了此函式,才能保證commands2在所有commands1執行完後再執行。