[Java lista] szálak, sebessége

Maglódszki Viktor bocios at citromail.hu
2007. Jan. 26., P, 15:59:01 CET


Sziasztok !

Előrebocsáltom, hogy ezt az emailt Outlook-ból irom remélem a formázás rendben lesz :)
A kérdésem szálkezeléssel kapcsolatos, azonbelül is inkább amolyan perfomance dolog.
Mint már volt arról szó van a programomban egy Timer, ami 10mp-ként elindul és végrehajt egy adatbázis lekérdezést SOAP-on keresztül.
Ez elég gyorsan megtörténik, csak egy számot ad vissza az SQL, tehát semmi komoly.
Van a programban egy táblázat (egy JTable) is. Gomb nyomásra szintén SOAP-on keresztül lekérek egy jó halom adatot és (setValue) feltöltöm ezt a táblázatomba.
Ez az egész feltöltés egy külön szálon fut feltöltés után a szálat megállítom (immáron sikeresen)!
A gondom ott van, hogy ez a feltöltés eltarthat akár 2-3percig is, méghozzá némi debug segítségével kideritettem, hogy ahogy ez fut 2-3percig közben ugye 10mp-ként meghivodik az a Timer is, ami szintén a SOAP-hoz nyul és ez 2-3mp-re feltartoztatja nekem a feltöltő szálat.
A ciklus teljes kimenetét kiiratom konzolra (System.err.println) és igy látom, hogy maga a ciklus (mármint 1 sor feltöltése) nagyon gyors 2-3ms.
Viszont 10mp-ként amikor lefut a Timer akkor ugye a feltöltő szál vár ezért nem 2-3ms hanem, 5-6mp egy sor feltöltése!! Ez összeségében nagyon sok idő.
A Timer MIN_PRIORITY-vel fut és yield() -et is tettem rá, a töltő szál pedig MAX_PRIORITY tehát ha minden igaz, akkor amikor töltöm a táblát a 10mp-ként lefutó ellenőrzésem lévén, hogy yield és min prior nem kellene, hogy feltartsa a töltő szálamat, de akkor mégis miért ?
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070126/0f45add4/attachment.html 


További információk a(z) Javalist levelezőlistáról