Linux中的多线程编程具有提高应用程序响应速度和使多cpu系统更有效的优点。接下来,小编将给你一个例子,通过外壳的多线程编程Linux下的多线程编程的例子解释的过程。


# /斌/狂欢!


# mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash ;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


这个例子说明了一个#等待读取控制技术、多线程模拟


这种技术通常用于#多主机检查,如SSH,平等的单一登录的过程是缓慢的,不消耗CPU。


#同时显示多个控制线程


# mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash;mdash ;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


功能a_sub


{


#来定义一个函数作为一个线程(进程)


3睡眠是睡眠3s #螺纹的作用


}


tmp_fifofile = / / tmp美元。fifomkfifo tmp_fifofile美元#新FIFO文件类型


tmp_fifofile Exec 6美元# fd6 FIFO型


人民币tmp_fifofile线程= 15 #这里定义的线程数


对于


((i = 0;i $););做回声


做6 #实际上是在放线fd6美元回车


对于


((i = 0;50我;i++;做#))50个周期,可以理解为50的主机,或其他


读一读# U6 U6命令的执行时间,减少fd6在回车,然后下执行,


当回车字符# fd6,停在这,从而实现线程的数量控制


这个过程开始{ #登场,背景是


a_sub


{ #这里可用来确定过程的逻辑


a_sub是finished回声;


}


| |


{ echo 子error


}


回声6 #当过程完成,然后fd6一回车,这是由读U6减一


}


完成等待#等待所有的过程结束后表


执行6- #接近DF6退出0





描述:


此程序中的命令


tmpfile mkfifo


Linux的命令


mknod tmpfile P


效果是相同的。不同的是,mkfifo是POSIX标准,所以推荐使用它。这个命令创建了一个第一次在第一管文件和将文件标记6,管道文件是一种进程间通信。注意这句话很重要。


tmp_fifofile Exec 6美元# fd6 FIFO型


没有这句话,当数据写入到文件tmp_fifofile美元或6,程序将被阻塞直到读到文件的数据。执行上面的语句后,可以将数据写入FIFO型文件不在程序的运行时阻塞和数据将被保存为读取程序读取。


通过运行命令:


时间。 / multithread.sh / dev /空


最终计算时间:50 15=3组(15)+ 1组(5 15),每组4组,每组耗时3秒,


3×4=12秒。


传统的非多线程代码操作时间:50×3=150秒。


以上是linux下shell多线程编程的一个实例。利用多线程编程可以改进程序结构。有兴趣的朋友可以试试看。