<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Pe 3 aprilie 2017, 10:01, Costin Lupu <span dir="ltr"><<a href="mailto:costin.lup@gmail.com" target="_blank">costin.lup@gmail.com</a>></span> a scris:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, 2017-04-03 at 09:42 +0300, Theodor Stoican via so wrote:<br>
> Salut,<br>
><br>
><br>
><br>
> > Aici e o problemă. Subcomenzile a, b și c *trebuie* să ruleze în<br>
> > paralel. De altfel ne putem gândi la operatorul '|' ca la un operator de<br>
> > paralelizare, cu diferența că subcomenzile comunică între ele<br>
><br>
><br>
> Se vrea acest comportament doar pentru comenzile externe? Nu vad cum<br>
> ai putea respecta acest comportament pentru cd, fara sa deschizi<br>
> thread-uri.<br>
<br>
</span>Fix ca în cazul operatorului de paralelizare, și pentru operatorul pipe<br>
procesele pornesc în paralel și se pot termina în orice ordine. Nu ai<br>
nevoie de thread-uri. Nu înțeleg de unde vine nelămurirea ta, mai am<br>
nevoie de niște clarificări în sensul ăsta.<br>
<br>
Ia spre exemplu comanda: 'cd | echo foo'. Subcomanda 'echo foo' nici<br>
măcar nu citește de la stdin.</blockquote><div> </div><div>Nu inteleg cum poti lansa cele 2 procese in paralel fara sa pornesti threaduri. Singura varianta pe care o vad e sa transformi functia intr-un executabil si sa i-l dai ca parametru lui CreateProcess. Altfel parcurgerea arborelui e inerent secventiala. Imi scapa ceva?</div></div><br></div></div>