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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章