[ NeoG @ 13.02.2005. 22:05 ] @
Ineresuje me cemu tacno sluzi metod Join() klase Thread.
Iz neke strane literature "shvatio" sam da se tada ceka neka
nit da zavrsi, mada mi nije bas jasno koja se nit ceka???
I da li se mozda ovaj metod koristi za sinhronizaciju dve niti???




[ Sundance @ 15.02.2005. 05:43 ] @
Citat:
NeoG:Iz neke strane literature "shvatio" sam da se tada ceka neka
nit da zavrsi, mada mi nije bas jasno koja se nit ceka???


Ona na čiju je instancu pozvana.

Citat:
I da li se mozda ovaj metod koristi za sinhronizaciju dve niti???


Ne, pošto se pozivatelj blokira.
[ NeoG @ 16.02.2005. 21:59 ] @
Ja ustvari traba da startujem jednu nit više puta, ali tek pošto sam siguran da je
(ukoliko postoji već startovana) postojeća završila.
Da li je onda dovoljno napisati nešto ovako svaki put kada
"startujem" tu nit.
Code:

public Thread thr = null;
...
...
thr = new Thread(new ThreadStart(Radi));
thr.Start();
thr.Join();'


ili da koristim IsAlive kao podatak da li je nit živa, pa da čekam
u petlji dok ne završi?

Hvala unapred...



[Ovu poruku je menjao NeoG dana 17.02.2005. u 21:47 GMT+1]
[ Sundance @ 16.02.2005. 22:09 ] @
Bolje ti je sa Join() jer će ti verzija sa beskonačnom petljom samo bezveze trošiti CPU cikluse, ali ako s druge strane moraš u pozadini raditi neke druge stvari dok se novostvorena nit izvršava, onda moraš koristiti verziju sa IsAlive + Sleep()