*   >> lukeminen koulutus Artikkelit >> science >> programming

Threading Dot Net 2.0 - erillinen kopio staattisen muuttujan eri säikeitä käyttäen ThreadStatic attribute

Windows perusyksikkö toteutus on säiettä. Tämä tarkoittaa WIN ei suorita prosessit; Sen sijaan se suorittaa kierteet. Langat ovat koodisekvenssejä jotka toimivat multitasked yksittäisiä pinot. Lanka on oma tyypillistä koodia, joka saa toteutetaan samanaikaisesti tavalla. Joten kierteet auttaa meitä saavuttamaan samanaikaista käsittelyä. WIN ajoitus ohjaa toteuttaa kaikki viestiketjut käynnissä järjestelmässä. Win, jokainen lanka on oma prioriteetti, numeroitu 0-31, jonka perusteella VOITA helpottavat toteuttamista kunkin säiettä.

Korkeampi prioriteetti numero, sitä suurempi säikeen prioriteetti. Prosessi voi olla yhden säikeen tai useita säikeitä. Yksi menetelmä on oltava vähintään yksi säiettä. Prosessit voivat kutemaan kierteet ja voivat irtisanoa kierteet.

Alla ohjelma osoittaa, miten kukin lanka säilyttää erillinen kopio saman staattisen muuttujan avulla ThreadStatic määrite

using System;

käyttämällä System. Collections.Generic;

käyttää System.Text;

käyttää System.

Threading;

nimiavaruuden Thread_Programming

{

class ThreadStaticProgram

{

[ThreadStatic]

staattinen merkkijono threadStaticVariable = "";

staattinen void main (String [] args)

{

Console.WriteLine ("Main lanka ennen {0}", threadStaticVariable);

threadStaticVariable = "punainen lanka";

Console.

WriteLine ("punainen lanka Ennen For Loop = {0} ", threadStaticVariable);

Thread [] säikeet = uusi säie [3];

(int i = 0; i

​​{

langat [i] = uusi säie (edustaja (objekti j) {

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

threadStaticVariable = "lanka" + J;

Console.WriteLine ("Thread {0} jälkeen = {1}", j, threadStaticVariable);

}

)

langat [i] .Start (i);

}

Array.ForEach (kierteet, edustaja (Thread t) {t.Join (); });

Console.

WriteLine ("punainen lanka jälkeen silmukka = {0}", threadStaticVariable);

Console.ReadLine ();

}

}

}

Tulos Konsolin Screen:

punainen lanka Ennen

punainen lanka Ennen silmukka = lanka

Thread0 ennen =

Thread1 ennen =

Thread1 jälkeen = Thread1

Thread0 jälkeen = Thread0

Thread2 ennen =

Thread2 jälkeen = Thread2

punainen lanka jälkeen silmukka = lanka


Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.