Oprettet fre. d. 07. marts 2008 kl. 10:07:34

mickni33
mickni33 (13.827 point. Point ude: 150)

arbejde med tråde

Jeg synes ikke rigtig at mine tråde fungere rigtigt

Jeg opbevare mine tråde i en Liste ...
Nu vil jeg gerne have det sådan at når der er oprette 10 tråde (som ligger data i DB) så står main og venter på at de måske 5 er færdige før der køres videre i main og bliver oprettet op 5 nye tråde...
Tråd pooling...

Men jeg synes ikke rigtig at mine tråde arbejder så godt..
Har det noget at sige at main arbejdere meget hurtigere end min tråd funktion som ligger data i DB(dette tager ca 3 sec at ligge en gruppe af insert's i DB)

Er der nogen der lige kan kigge på det jeg har her?

public void start(){

thread1 = New Threading.Thread(AddressOf _threadClass.insertIntoDB)
        thread1.Start()
        threadList.Add(thread1)


        Do Until threadList.Count < 20
            Threading.Thread.Sleep(5)
            For Each thread As Threading.Thread In threadList
                If thread1.ThreadState = Threading.ThreadState.Stopped Then
                    threadList.Remove(thread)
                    a = threadList.Count
                    Exit For
                End If
            Next
        Loop
}

Skrevet fre. d. 07. marts 2008 kl. 10:11:57| #1

Jeg kan ikke se nogen grund til at du siger "Exit For". Det vil blot tage længere tid.

Skrevet fre. d. 07. marts 2008 kl. 10:18:08| #2

mickni33
mickni33 (13.827 point)
aaaaahh ok
den er hermed fjernet...
Men hvad med resten det ser vel ok ud ... eller hvad?

Skrevet fre. d. 07. marts 2008 kl. 10:50:35| #3

Ja, men lige en ting jeg overså. Du kan vist ikke fortsætte en iterering gennem en arraylist, når du ændrer i den med Remove. Derfor skal du nok have din "exit for", men du skal starte den igen med det samme og ikke vente 5 sekunder. Så længe der er stoppede tråde, så fjern dem. Når der ikke er flere stoppede tråde, så går du op til din "do until".

(Blander du ikke C# og VB.NET?)

Skrevet fre. d. 07. marts 2008 kl. 10:55:39| #4

mickni33
mickni33 (13.827 point)
hehehe det er VB.. men der er aldrig nogen der svarere på det Forum :-)

Aaaarrgggg opdagede lige fejlen:
For Each thread As Threading.Thread In threadList
                If thread1.ThreadState = Threading.ThreadState.Stopped Then


det skal jo ikke være : if thread1
men thread som den

Skrevet fre. d. 07. marts 2008 kl. 10:58:38| #5

mickni33
mickni33 (13.827 point)
Ja erikj
Jeg prøver lige det du siger det..

Skrevet fre. d. 07. marts 2008 kl. 11:05:30| #6

Nå ja ;)

Bare rolig - jeg drømmer om VB.NET for tiden ...  Men vis lige koden, når du har den.

Skrevet fre. d. 07. marts 2008 kl. 11:08:18| #7

mickni33
mickni33 (13.827 point)
hehehhe jeps jeg poster det lige men fejlen jeg beskrev :

det skal jo ikke være : if thread1
men thread som den

det hjalp betydeligt da det blev rettet... arbejder lige lidt på din løsning

Skrevet tor. d. 25. september 2008 kl. 10:46:00| #8

mickni33
mickni33 (13.827 point)
lig lige et svar

Skrevet tor. d. 25. september 2008 kl. 11:25:36| #9

Nej tak. Samler ikke på point. Svar selv, accepter dit eget svar.

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Print fra Windows Service på Win2008

Oprettet den 24. maj 2012 kl. 11.17
jps6kb giver 200 point for svar | Giv et svar »

Udskrive en Breadcrumb (Jeg er her >>)

Oprettet den 18. maj 2012 kl. 12.04
Qbruger giver 200 point for svar | Giv et svar »

Hjælp til at lokalisere fejl i CMS (synkron.via) dll

Oprettet den 16. maj 2012 kl. 19.31
jokkejensen giver 200 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger