Avatar billede adamjen Nybegynder
01. januar 2007 - 17:12 Der er 5 kommentarer og
1 løsning

Thread håndtering?

Hej

Jeg har en applikation der køre et loop der danner en række threads. Disse vil jeg gerne have mulighed for at lukke, når metoden threadsene kalder er eksekveret.

Et eksempel kunne være:

for (int i = 0; i <= 100; i++)
{
    MitObjekt objObjekt = new MitObjekt();

    objObjekt.Value = i;

    Thread objThread = new Thread(new ThreadStart(objObjekt.Start));
    aObjThread.Start();
}

Hvordan kan jeg lukke (Abort()) de forskellige threadobjekter objThread, når metoden objObjekt.Start er eksekeveret for hvert thread?
Avatar billede arne_v Ekspert
01. januar 2007 - 17:20 #1
skal du ikke bare have en ny løkke hvor du kalder Join på dine threads (som så skal
bevares udenfor løkken) ?
Avatar billede arne_v Ekspert
01. januar 2007 - 17:22 #2
trivielt eksempel:

using System;
using System.Threading;

class MainClass
{
    public static void Main(string[] args)
    {
        Thread[] t = new Thread[10];
        for(int i = 0; i < t.Length; i++) {
            t[i] = new Thread(new ThreadStart(DoSomething));
        }
        for(int i = 0; i < t.Length; i++) {
            t[i].Start();
        }
        for(int i = 0; i < t.Length; i++) {
            t[i].Join();
        }
    }
    public static void DoSomething()
    {
        Console.WriteLine("start");
        Thread.Sleep(5000);
        Console.WriteLine("end");
    }
}
Avatar billede adamjen Nybegynder
01. januar 2007 - 18:20 #3
Det har jeg lige forsøgt og det fungere fint :) Fatter bare ikke lige hvad Join metoden gør? Benytter man ikke Abort, hvis man vil 'lukke' site thread?
Avatar billede arne_v Ekspert
01. januar 2007 - 18:40 #4
Join venter indtil tråden afslutter pænt

Abort slår tråden ihjeld med det samme
Avatar billede adamjen Nybegynder
01. januar 2007 - 20:27 #5
Mange tak :) Vil du komme med et svar ???
Avatar billede arne_v Ekspert
01. januar 2007 - 20:29 #6
jepper
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

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



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel