*   >> Læs Uddannelse artikler >> science >> programming

Threading i dot net 2.0 - separat kopi af statisk variabel mellem forskellige tråde hjælp ThreadStatic attribut

Windows grundlæggende enhed i udførelsen er en tråd. Det betyder WIN ikke udføre processer; stedet, det udfører tråde. Tråde er kode sekvenser, der kører multitasked på individuelle stakke. En tråd har sin egen kodesekvens, der bliver udført i en sideløbende måde. Så tråde hjælpe os med at opnå sideløbende behandling. WIN Scheduler styrer udførelsen af ​​alle trådene kører i et system. I WIN, hver tråd har sin egen prioritering, nummereret fra 0 til 31, baseret på hvilken WIN tidsplaner for udførelse af hver tråd. Jo højere prioritet tal, jo højere tråden prioritet.

Fremgangsmåde kan have en enkelt tråd eller flere tråde. En enkelt proces skal have et minimum af en tråd. Processer kan gyde tråde og kan opsige tråde

Under Program viser, hvordan hver tråd holder en separat kopi af samme statiske variabel ved hjælp ThreadStatic tilskriver

using System;.

hjælp System. Collections.Generic;

hjælp System.Text;

hjælp System.

Threading;

namespace Thread_Programming

{

klasse ThreadStaticProgram

{

[ThreadStatic]

statisk streng threadStaticVariable = "";

static void Main (string [] args)

{

Console.WriteLine ("røde tråd Før {0}", threadStaticVariable)

threadStaticVariable = "røde tråd"

Console.WriteLine ("røde tråd Før Til Loop = {0} ", threadStaticVariable)

Tråd [] tråde = ny tråd [3];

for (int i = 0; i

​​{

tråde [i] = new Thread (delegeret (objekt j) {

Console.

WriteLine ("Thread {0} før = {1}", j, threadStaticVariable)

threadStaticVariable = "Tråd" + j;

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

}

)

tråde [i] .Start (i);

}

Array.ForEach (tråde, delegeret (Tråd t) {t.Join (); });

Console.WriteLine ("røde tråd efter For Loop = {0}", threadStaticVariable)

Console.

ReadLine ();

}

}

}

Resultat på konsol Skærm:

røde tråd Før

røde tråd Før Til Loop = røde tråd

Thread0 før =

Thread1 før =

Thread1 efter = Thread1

Thread0 efter = Thread0

Thread2 før =

Thread2 efter = Thread2

røde tråd efter For Loop = røde tråd


Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.