Gå til innhold

Anbefalte innlegg

Heisann!

 

Jeg har etterhvert laget et litt omfattende program som kommuniserer med et annet program på en annen PC. Det fungerer ganske greit, men av og til blir alt tregt som sirup. Jeg vet ikke helt hvorfor... Hva kan høres for å finne synderen? Og hvordan kan slikt debugges?

Lenke til kommentar
Videoannonse
Annonse
Dårlig optimalisert programmeringskode?

9171433[/snapback]

 

Ja.

 

Selvsagt er det det!

 

Men jeg ville gjerne ha noen innspill på hvordan kan det forbedres?

 

Forresten, none som har hørt om "thread starvation"? Jeg har syv Timere gående, kanskje det er litt mye?

Endret av Mr Burns
Lenke til kommentar

Alt kjører i samme tråd.

Dette kan man se godt hvis man lager en Loop som ikke inneholder Application.DoEvents.

DoEvents kaller i all hovedsak PeekMessage, TranslateMessage og DispatchMessage funksjonene.

Edit:

Grunnen til dette er at det er mye regler rundt hvordan ting skal gjøres cross-threads, derfor er det mye bedre at alt skjer i samme thread.

Endret av GeirGrusom
Lenke til kommentar
Alt kjører i samme tråd.

Dette kan man se godt hvis man lager en Loop som ikke inneholder Application.DoEvents.

DoEvents kaller i all hovedsak PeekMessage, TranslateMessage og DispatchMessage funksjonene.

Edit:

Grunnen til dette er at det er mye regler rundt hvordan ting skal gjøres cross-threads, derfor er det mye bedre at alt skjer i samme thread.

9172221[/snapback]

 

ok...

 

Vi snakker kanskje om forskjellige tråder? Her står det at .NET har 25 tråder i sin "Thread pool", og at disse kan bli opptatt slik at man får "thread pool starvation".

 

Uansett, skal se om jeg ikke kan redusere antall timere. Eventhandlerne til nettkomm. tar jo også noen tråder...

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...