*   >> Lectura Educación Artículos >> science >> programación

Enhebrado en Dot Net 2.0 - copia separada de variable estática entre los diferentes hilos utilizando attribute

ThreadStatic

Windows unidad básica de ejecución es un hilo. Eso significa que WIN no ejecuta procesos; En su lugar, se ejecuta hilos. Los hilos son secuencias de código que se ejecutan multitarea en pilas individuales. Un hilo tiene su propia secuencia de código, que es ejecutado de manera concurrente. Así hilos nos ayudan a lograr el procesamiento concurrente. Programador WIN controla la ejecución de todos los hilos que se ejecutan en un sistema. En WIN, cada hilo tiene su propia prioridad, numerados de 0 a 31, con base en el cual GANAR programa la ejecución de cada hilo.

Cuanto mayor sea el número de prioridad, más alta es la prioridad del hilo. Un proceso puede tener un solo hilo o de múltiples hilos. Un único proceso tiene que tener un mínimo de un hilo. Los procesos pueden generar discusiones y pueden terminar las discusiones

A continuación programa muestra cómo cada subproceso mantiene una copia separada de una misma variable estática usando ThreadStatic atributo

using System;.

using System. Collections.Generic;

usando System.Text;

usando System.

Threading;

espacio de nombres Thread_Programming

{

clase ThreadStaticProgram

{

[ThreadStatic]

estática cadena threadStaticVariable = "";

void main (String [] args) estáticas

{

Console.WriteLine ("Tema Principal Antes de {0}", threadStaticVariable);

threadStaticVariable = "Tema principal";

Console.

WriteLine ("Tema Principal Antes de Para Loop = {0} ", threadStaticVariable);

Tema [] = new hilos de rosca [3];

for (int i = 0; i

​​{

hilos [i] = new Thread (delegado (objeto j) {

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

threadStaticVariable = "Tema" + j;

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

}

);

hilos [i] .start (i);

}

Array.ForEach (hilos, delegado (Thread t) {t.Join (); });

Console.

WriteLine ("Tema principal después de bucles For = {0}", threadStaticVariable);

Console.ReadLine ();

}

}

}

El resultado en la pantalla de la consola:

Tema Principal Antes

Tema Principal Antes de bucles For = Principal Tema

Thread0 antes =

Thread1 antes =

Thread1 después = Thread1

Thread0 después = Thread0

Thread2 an

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.