Diskuze: Co znamena tento kod ?

C# .NET .NET (C# a Visual Basic) Co znamena tento kod ? American English version English version

Avatar
Tayson
Člen
Avatar
Tayson:

static void Main()
{
for (int i = 0; i < 10; i++) new Thread(Pracuj)­.Start();
}

static void Pracuj()
{
while (true)
{
s.WaitOne();
Thread.Sleep(100);
s.Release();
}
}

Mám pocit ze tento kód vytvára vlákna anonymne a vytvorí ich 10 .... chcem sa ale opýtat ako vytvorené vlákna dajme tomu abortnem ? Ako získam ich adresu ?

 
Odpovědět 9.11.2013 13:27
Avatar
Posix
Člen
Avatar
Odpovídá na Tayson
Posix:

Jednoduše si uložíš vlákno do proměnné, když ho vytváříš. V tomto případě budeš mít pole nebo seznam vláken.

List<Thread> vlakna = new List<Thread>();
for (int i = 0; i < 10; i++)
{
    Thread vlakno = new Thread(Pracuj);
    vlakna.Add(vlakno);
    vlakno.Start();
}


vlakna[5].Abort();
Nahoru Odpovědět 9.11.2013 13:33
Proč to dělat jednoduše, když to jde složitě.
Avatar
Tayson
Člen
Avatar
Odpovídá na Posix
Tayson:

Takze tymto sposobom mi vytvori 10 vlakien naraz a proste sa mi to ulozi do pola ich adresa a potom si to viem abortnut ak som to spravne pochopil. Ten priklad co si napisal stale vytvara anonymne tie vlakna ?

 
Nahoru Odpovědět 9.11.2013 13:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.