off topic: combined output of concurrent processes

Ed Greshko Ed.Greshko at greshko.com
Sat Apr 14 15:39:14 UTC 2012


On 04/14/2012 11:20 PM, Amadeus W.M. wrote:
> For the sake of the argument, assume I echo 500 As, 500 Bs and 500 Cs. 
>
> I don't care which process the output is coming from. It doesn't matter 
> which order the As, Bs and Cs are output. All I care about is that I 
> don't get 349As followed by 245Bs, etc. I want to see blocks of 500 each. 
>
> I don't see how echoing into a pipe would change the problem. 
> Theoretically, if several processes (e.g. echo) are running in the 
> background, e.g. on a round robin basis, then potentially I could see 
> random sequences of As, Bs and Cs. It doesn't seem to be the case in 
> practice though. So which is it?
>
> This has to do with the operating system internals, it's not a trivial 
> question.

Why don't you test it and see that it does make a difference?

[egreshko at meimei test]$ ./io.sh > out

[egreshko at meimei test]$ grep ^A out | wc
     98      98     588

[egreshko at meimei test]$ mkfifo pipe
[egreshko at meimei test]$ ./io.sh > pipe

[egreshko at meimei test]$ cat pipe | grep ^A | wc
    100     100     600



-- 
Never be afraid to laugh at yourself, after all, you could be missing out on the joke
of the century. -- Dame Edna Everage


More information about the users mailing list