2014-12-03 19:55 GMT+02:00 Dan Borlovan <d...@level7.ro>:

> > M-a batut la un moment dat gandul sa incerc si eu o solutie (cu perl, of
> > course :P), dar n-am avut timp. IMO, cel mai decent e sa mentii o lista
> de
> > nume de fisiere aflate la care sa atasezi un flag daca le-ai citit. (un
> > hash de forma nume => flag, unde flag incepe prin a fi 0, de ex).
> > Initializezi aceasta lista cu numele fisierului initial si 0.
> >
> > Dupa aia, atata timp cat ai fisiere cu flagul 0 in lista, alegi unul, il
> > setezi pe 1 si citesti din el nume de fisiere. Daca nu exista in lista,
> le
>
> Te complici
>
> Dai de un fisier
> - daca e in hash, e citit, move on
> - daca nu e, il adaugi in hash (doar cheie, nu ai nevoie de valoare) si
> apelezi recursiv functia cu noul fisier
>
> Doar daca esti pe nu stiu ce microcontroller fara memorie si nu-ti permiti
> recursivitate, atunci te joci de-a lista cu flag-uri
>

Si-asa se poate, am presupus ca fisierele sunt destul de mari (ca ajungi sa
le tii deschise pe toate din el si risti sa ramai fara filedescriptori).
Also daca tii hashul ala intr-o forma care sa poata fi editata de procese
separate, poti porni mai multi scarmanatori de fisiere in paralel.

-- 
P.
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui