Avatar billede testing Nybegynder
20. november 2008 - 23:44 Der er 2 kommentarer

Langsom backgroundworker

Hej eksperter

Jeg har en backgroundworker som udføre noget simpelkode i do_work.

Men nogle gange kører den utrolig langsom, det der normalt tager ca 1 min tager ligepludslig 10 min, og næste gang 1 min igen.

Nogle der ellers har haft det problem?

Kode:

        private void worker_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker senderWorker = sender as BackgroundWorker;

            List<string> InputList = e.Argument as List<string>;

            for (int i = 0; i < InputList.Count; i++)
            {
                MessageBox("Uploader: " + InputList[i].ToString());
                UploadFile(InputList[i].ToString());
                System.Threading.Thread.Sleep(2000);               
            }

            MessageBox.Show("Færdig");
        }
Avatar billede kalp Novice
21. november 2008 - 07:57 #1
Jeg ignorere lige koden et kort øjeblik.

Din BackgroundWorker køre kun når din ForgroundThreads tillader det.. dvs. når der er resourcer nok til det.

Jeg ved ikke hvad resten af dit program går ud på og om der er meget med tråde i det.
Men det er i hvertfald første tanke.
Avatar billede aaberg Nybegynder
21. november 2008 - 11:12 #2
Du uploader en masse filer. Er det denne upload som nogen gange er langsom? Som kalp skriver så har tråden en BackgroundWorker bruger, lavere prioritet end hovedtråden, så hvis dit processorbrug er oppe på 100%, kan dette også være forklaringen. Det er næsten garanteret ikke BackgroundWorker klassen der er langsom.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester