命名管道用于并行执行
来源:互联网 发布:中国企业海外投资数据 编辑:程序博客网 时间:2024/06/14 05:28
mkfifo p_file
创建fifo (first in first out) 文件, 文件出来之后可以看见文件类型是p, 管道文件
prw-r–r– 1 tcaplus users 0 9月 7 17:35 p_file
往这个文件里面写的数据, 每次读一行, 只能从头部读出, 读出之后就删除这一行
我们常用的匿名管道 “|” 是一块内存区域. 使用命名管道的话, 这就是一个文件, 他们两个同样都遵循先入先出的规则. 利用命名管道可以并行执行任务
#!/bin/bashmax_curr_num=3 #最大并行执行数目mission_num=15 #任务总数mkfifo p_file #创建管道文件exec 6<>p_file #绑定文件描述符rm -f p_file #清空管道文件for ((i=1; i<=$max_curr_num; i++)) #给管道文件写入最大并发数目个换行符do echo >&6donefor ((i=1; i<$mission_num; i++)) #执行任务总数次doread -u6 #从文件描述符6读入{ sleep 1 echo $i echo >&6 #一个任务完成后, 写入管道文件, 下个任务才能读到并执行}& #管道文件有多少行, 就并行多少个任务donewait #等待所有任务完成exec 6>&- #释放文件描述符exit 0
阅读全文
0 0
- 命名管道用于并行执行
- 一个用于实现并行执行的 Java actor 库
- 一个用于实现并行执行的 Java actor 库
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- 命名管道
- View Animation和Drawable Animation
- C++ 标准库 string类型(二)
- leraning-->库文件的创建
- [Struts2] Action类
- 再次认识Java中构造器的初始化与继承
- 命名管道用于并行执行
- opencv3.3+opencv_contrib+vs2013编译
- 2017.9.7 模拟考试
- 连续子数组的最大和
- C#中DataGridView使用
- 听老谢一席话,胜喝一吨鸡汤:)
- ES6-let 与 const
- 实战c++中的string系列--string与整型或浮点型互转
- [Struts2] Struts中OGNL