码迷,mamicode.com
首页 > 其他好文 > 详细

bash fifo管道使用测试例子

时间:2015-08-05 12:33:17      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

碰到一个场景:

一个脚本内起了多个后台线程,往一个日志文件写日志,结果因为线程之间争抢写锁,导致脚本执行效率很低,为了解决这个问题,希望减少写锁的争抢,尝试使用fifo解决该问题,以下是实验用例子。

#!/bin/bash
fifo_file=fifo.pipe mkfifo $fifo_file exec 6<>$fifo_file rm $fifo_file # 随便一个写了一个生成数据的函数 DateWrite () { i=0 while [ $i -lt 1000 ] do str=`date` i=$(( i+1 )) echo "$i $str" done } # 起100个后台线程,往管道写数据 for (( i=0; i<100; i++ )) do ( DateWrite >&6 ) & done #以下逻辑用于一直从管道中读取数据 while read date_time do echo $date_time >> output.file done <&6

 

bash fifo管道使用测试例子

标签:

原文地址:http://www.cnblogs.com/ManMonth/p/4704298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!