参考:
1. shell队列实现线程并发控制
2. shell队列实现线程并发控制(转)
一些重要点说明
1.shell中的多线程用&后台模式运行即可。
1.数组不能进程共享
2.有名管道可以做令牌
3.有名管道可以作为队列进程间共享
问题解答
(A)
有一段内容,多个进程共同消费,那么这个内容应该放在哪里呢?
(1)数组:不行。数组不能进程间共享。如a=(1 2 3),A进程消费了1 2,即使改变了数组,B进程还会从1,2消费。
(2)有名管道:推荐方式。将有名管道关联到文件描述符,后续取内容时,从文件描述符中取出即可。
(B)
在做线程等待限制时,有名管道中,最好放空的令牌。因为直接把文本放里面,可能多个线程(进程和线程在shell中暂不细究,说进程或线程均可)把文本拆分了。
再起一个管道作为进程间数据共享。
具体demo见ut的shell脚本。