Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kylix3/RH9: thread-ovi ne umiru

[es] :: Pascal / Delphi / Kylix :: Kylix3/RH9: thread-ovi ne umiru

[ Pregleda: 1796 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milos D
Beograd

Član broj: 5621
Poruke: 277
*.ptt.yu



Profil

icon Kylix3/RH9: thread-ovi ne umiru19.07.2004. u 21:08

Dakle, napravim ja tako thread u Kylix3 na RedHat9, u execute stoji samo sleep od par sekundi (ili bilo sta drugo) i taj thread ostaje zauvek prisutan kao "zombie" thread. StartSuspended ne utice na problem. Thread ne trosi resurse, ali tu je. Kill ne uspeva da ga ubije, bez poruke o gresci. Ima li resenja za ovaj problem?
19.07.2004. u 21:08 

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 462
217.119.242.*



Profil

icon Re: Kylix3/RH9: thread-ovi ne umiru20.07.2004. u 13:25
E, koliko su slicni Kylix TThread i Delphi-jev TThread?
Ako jesu slicni, onda treba da u constructor-u 'tvog' thread-a postavis property FreeOnTerminate na true; na taj nacin, garantovano 'umire' kad izadje iz Execute metode.
Pozdrav

Rajko
20.07.2004. u 13:25 

Milos D
Beograd

Član broj: 5621
Poruke: 277
*.ptt.yu



Profil

icon Re: Kylix3/RH9: thread-ovi ne umiru20.07.2004. u 19:45
Laptopovi

Eh, malopre sam shvatio da se problem pojavljuje samo kada program pokrenem iz Kylix-a. Kada ga startujem nezavisno nema tog problema, tako da mi nije vazno zasto se to desava.

Inace, hvala na predlogu, ali izgleda da FreeOnTerminate ne utice na problem.
20.07.2004. u 19:45 

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 462
217.119.242.*



Profil

icon Re: Kylix3/RH9: thread-ovi ne umiru22.07.2004. u 08:21
Aj stavi breakpoint na taj Sleep() u Execute metodi, cisto da se uveris da li uopste thread stize dotle. Lici mi da si kreirao thread sa Suspended (parametar u constructor-u), a onda imas upravo 'zombi' thread.
Ukoliko jesi kreirao suspendovane thread-ove, onda samo pozoves recimo MyThread.Resume i to je to.

Rajko
22.07.2004. u 08:21 

Milos D
Beograd

Član broj: 5621
Poruke: 277
*.ptt.yu



Profil

icon Re: Kylix3/RH9: thread-ovi ne umiru22.07.2004. u 17:54
Ma ne, tredovi odrade svoj posao lepo ali se ne uklanjaju sa liste aktivnih samo ako je program startovan iz Kylix-a inače kulturno uginu tako da me to uopšte ne brine jer se program ionako kod korisnika ne pokreće iz Kylix-a već, naravno, samostalno.
22.07.2004. u 17:54 

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 462
217.119.242.*



Profil

icon Re: Kylix3/RH9: thread-ovi ne umiru26.07.2004. u 08:03
'Kill ne uspeva da ga ubije, bez poruke o gresci.'

Sta ti ovo znaci? Ima greska ili nema? Nemoj tako olako da prihvatas stanje stvari. Definitivno ovo sto si naveo nije regularno. Znam o cemu pricam; i meni se ranije desavalo da thread aplikacije ne rade iz IDE-a, a iz dektopa rade (i obratno). I uvek se ispostavljalo da je u pitanju greska u design-u (sinhronizaciji thread-ova).
A zasto se to desava? Zato sto timing (nemam bolji izraz) thread-ova ne tece isto, u zavisnosti kako je startovana aplikacija. Posledica toga je da se u jednom trenutku aplikacija obrati thread-u koji je vec 'mrtav' (prazna referenca), ili se thread obrati necemu sto je u tom trenutku prazna referenca. Razmisli o ovome.
Pozdrav

Rajko
26.07.2004. u 08:03 

Milos D
Beograd

Član broj: 5621
Poruke: 277
*.ptt.yu



Profil

icon Re: Kylix3/RH9: thread-ovi ne umiru26.07.2004. u 16:44
Auh, sada izgleda ovaj problem tebe nervira mnooooogo vise nego mene :)

Prvo, verovatno nisam bio dovoljno jasan jer spominjes sinhronizaciju i moguce razloge zasto tredovi ne rade kako treba - kod mene svi tredovi, u oba slucaja (IDE/standalone), provereno rade kako treba i nije problem u sinhronizaciji jer kao sto rekoh probao sam i sa tredom koji samo odradi sleep i nema ama bas nikakvu komunikaciju sa drugim tredovima. Imam ranijeg iskustva sa tredovima na Windows-u i znam kakve zavrzlame mogu da nastanu kada nesto nije dobro osmisljeno.

Inace, "kill ne uspeva da ga ubije bez poruke o gresci" znaci da kada otkucam

kill thread_pid

ne dobijam nikakvu poruku o gresci, ali na spisku tredova ovaj i dalje stoji. U stvari, nisam siguran da kill uopste moze da ubija pojedinacne tredove, samo sam pretpostavio da moze kad vec imaju pid isto kao i procesi. A pid sam saznao pomocu ps tj. pstree programa.

Ja sam ti zahvalan na odgovorima i ulozenom trudu i vremenu, ali ovaj problem je zaista nebitan zato sto a) ne utice na rad programa i b) kod korisnika se ne ispoljava.
26.07.2004. u 16:44 

[es] :: Pascal / Delphi / Kylix :: Kylix3/RH9: thread-ovi ne umiru

[ Pregleda: 1796 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.