Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Probleem threadidega remote protsessis (c++) märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Hazar
Kreisi kasutaja
Hazar

liitunud: 24.08.2004




sõnum 30.07.2010 17:08:45 Probleem threadidega remote protsessis (c++) vasta tsitaadiga

Hiljuti sain jälile probleemile mis mind pikalt kummitanud, nimelt üks funktsioon on istutatud teise protsessi ning seda aktiveerin createremotethread abil mis jookseb koodi läbi, teeb vajalikud asjad ning kaob. Probleem siis selles, et kuigi host protsessist tulevad käsud õiges järjekorras jääb vahetevahel üks neist spawnitud threadidest millisekundi hiljaks oma toimingu lõpetamisega ning kui käsud tulevad suure kiirusega tehakse asju vales järjekorras = kaput. Mõtlesin siis, et vbl oleks kõige lihtsam tekitada üks tukkuv thread funktsiooni istutamise jooksul mis muidu cpu'd ei raiska, kuid peab reageerima ülikähku kui uus käsk saabub (nt siis host protsessi poolt ülekirjutatav muutuja päästikuks), sellega saaks garanteerida et ükski toiming ei torma teistest ette. Proovisin siis igat pidi nii nagu oskasin, kuid tulemiseks on see, et kas see tukkuv thread on liiga uimane või imeb cpud üleliia. Soovitusi?
Kommentaarid: 29 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 28
tagasi üles
vaata kasutaja infot saada privaatsõnum
mark11
HV vaatleja

liitunud: 28.01.2006




sõnum 30.07.2010 20:29:16 vasta tsitaadiga

ei saa probleemist täpselt aru kuid kui tahad, et enne esimene thread oma asjad ära teeb siis kasuta WaitForSingleObject() koos INFINITE parameetriga.
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum
Hazar
Kreisi kasutaja
Hazar

liitunud: 24.08.2004




sõnum 30.07.2010 20:55:43 vasta tsitaadiga

waitforsingleobject interopina callides võtab liiga kaua aega (vahetevahel sekund+) kuigi thread on ammu töö lõpetanud
Kommentaarid: 29 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 28
tagasi üles
vaata kasutaja infot saada privaatsõnum
Ho Ho
HV Guru
Ho Ho

liitunud: 16.02.2002




sõnum 03.08.2010 11:34:24 vasta tsitaadiga

Kui on sünkroniseerida tarvis siis ikka ilma mutexite-lockide ja muu juurde kuuluvata eriti lihtsalt ei saa. Lihtsalt luua ports threade ja loota, et need õigeks ajaks valmis saavad on naiivne ning tekitab ainult vigu.


Võibolla peaksid laskma tollel taustal tööd tegeval threadil mingit sorti signaali saatma põhi threadile mis ei jätkaks tööd enne, kui see signaal käes? Samas peaks selle töö ära tegema ka waitforsingleobject kuid kui sul võib olla taustal rohkem, kui üks säärane thread siis pead veidi kavalamalt tegema.

_________________
Teach a man to reason and he'll think for a lifetime
Common sense - so rare that it's a damn superpower
Vaadates paljude inimeste sõnavõtte siin ja mujal jääb üle ainult klassikuid tsiteerida - "I weep for humanity"
Kommentaarid: 106 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 86
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Hazar
Kreisi kasutaja
Hazar

liitunud: 24.08.2004




sõnum 15.08.2010 06:06:05 vasta tsitaadiga

Ho Ho kirjutas:
Võibolla peaksid laskma tollel taustal tööd tegeval threadil mingit sorti signaali saatma põhi threadile mis ei jätkaks tööd enne, kui see signaal käes?


Nii tegingi, kartsin, et nii edasi/tagasi kinnitamine teeb jõudlusele otsa peale, kuid wmessage päris käbe 2% läks kaotsi ainult ja enam ei streigi.
Kommentaarid: 29 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 28
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Probleem threadidega remote protsessis (c++)
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.