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多线程编程的一个实例。利用多线程编程可以改进程序结构。有兴趣的朋友可以试试看。