linux shell多線程操作

原理: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  }&

原理:大括號以內爲一個子線程運行。

實例:

  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執行完後再執行。 


發佈了29 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章