*   >> läser Utbildning artiklar >> science >> programming

Gäng i dot net 2.0 - separat kopia av statisk variabel mellan olika trådar som använder ThreadStatic attribute

Windows grundenhet för utförande är en tråd. Det betyder att WIN inte köra processer; istället, exekverar den trådar. Trådar är kodsekvenser som körs multitasked på individuella staplar. En tråd har sin egen sekvens av kod, som får exekveras i en samtidig mode. Så trådar hjälpa oss att uppnå samtidig behandling. WIN Scheduler styr verkställandet av alla trådar som körs i ett system. I WIN har varje tråd en egen prioritering, numrerade 0-31, beroende på vilken WIN scheman utförandet av varje tråd. Ju högre prioritet nummer, desto högre tråden prioritet.

En process kan ha en enda tråd eller flera trådar. En enda process måste ha minst en tråd. Processer kan leka trådar och kan avsluta trådar Omdömen

Nedan Programmet visar hur varje tråd håller en separat kopia av samma statiska löst med ThreadStatic attribut Omdömen

using System;. Omdömen

med System. Collections.Generic,

med System.Text, Omdömen

med System.

Threading, Omdömen

namespace Thread_Programming Omdömen

{Omdömen

class ThreadStaticProgram

{Omdömen

[ThreadStatic] Omdömen

statisk string threadStaticVariable = "";

static void main (String [] args) katalog

{

Console.WriteLine ("röd tråd Innan {0}", threadStaticVariable);

threadStaticVariable = "röd tråd",

Console.

WriteLine ("röd tråd Innan För Loop = {0} ", threadStaticVariable); Omdömen

Tråd [] trådar = new Thread [3], Omdömen

for (int i = 0; i

​​{Omdömen

trådar [i] = new Thread (delegat (objekt j) {Omdömen

Console.WriteLine ("Thread {0} före = {1}", j, threadStaticVariable); Omdömen

threadStaticVariable = "Gäng" + j; Omdömen

Console.WriteLine ("Thread {0} efter = {1}", j, threadStaticVariable); Omdömen

} Omdömen

),

trådar [i] Starta ett (i);

} Omdömen

Array.ForEach (trådar, delegat (Gäng t) {t.Join (); }), Omdömen

Console.

WriteLine ("röd tråd efter För loop = {0}", threadStaticVariable); Omdömen

Console.ReadLine ();

} Omdömen

} Omdömen

} Omdömen

Resultat på konsol Skärm:

Huvud tråd Innan Omdömen

Huvud tråd Innan För Loop = röd tråd Omdömen

Thread0 innan = Omdömen

Thread1 innan = Omdömen

Thread1 efter = Thread1 Omdömen

Thread0 efter = Thread0 Omdömen

Thread2 innan = Omdömen

Thread2 efter = Thread2

Huvud tråd efter För Loop = Huvud tråd Omdömen

Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.