[Chisinau-pm] Ответ: Re: Procesele in Perl

Costea Comendant comendantc la yahoo.com
Sâm Sep 9 13:28:42 PDT 2006


--- Alexandr Ciornii <alexchorny la gmail.com> пишет:

> HI!
> 
> 2006/9/7, Sergiu Mihai <serhio la programmer.net>:
> > Salut tuturor.
> > Incerc sa clonez un proces.
> > Utilizez functia standarta fork() care returneaza
> parintelui PID-ul fiului si 0 procesului-fiu.
> > Am incercat prin teste sa inteleg cum ruleaza dar
> n-am mai priceput.
> 
> Мне кажется, что в принципе неизвестно, какой
> процесс начнёт
> выполняется первым. Тебе не стоит расчитывать на
> определённость.
> Учитывая, что ветвление производится в точке fork, я
> переписал программу так:
> #!/usr/bin/perl -w
> 
> print "Programul parinte\n";
> $a=fork();
> print "PID-ul fiului este ".$a."\n";
> for($i=0;$i<=5;$i++)
> {
>         print "$i\n";
> }
> 
> Но у меня результаты каждый раз немного разные. Это
> неудивительно.
> Правда я выполняю под Windows, а там fork реализован
> через потоки.

In general aceste doua exemple (al tau si al lui
Alexandr) sint identice. Intr-adevar nu poti spune
precis care din procese se va executa mai devreme, cu
sau fara sleep(). Rezultatele vor fi diferite si pe
Unix, si pe Windows daca vei incerca sa executi de mai
multe ori programul (cred ca statistic distributia va
fi 50/50). 
In general, nu prea am inteles ce anume nu ti-i clar,
deoarece totul este corect (desi nu stiu la ce te
asteptai).
Cele bune,
Costea.


	

	
		
________________________________________________________
Вы уже с Yahoo!? 
Испытайте обновленную и улучшенную. Yahoo! Почту! http://ru.mail.yahoo.com


Mai multe informații despre lista de discuții Chisinau-pm