Subprocesos en C#.

29/09/2005 - 23:26 por Calixto Mercado | Informe spam
Hola a todos.

Mi pregunta es la siguiente, estoy implementando una
aplicacion que requiere que varios subprocesos (Threads)
intercambien datos, el problema es que no se cual es la
mejor forma, he investigado y creo que puedeo hacerlo de
las siguientes maneras:
1. usando Thread Local Storage.
2. usando una clase Singleton para que los subprocesos
puedan escribir y leer de esto objeto singleton, que
podria ser una cola.
3.- usando Named Pipes.

Gracias de antemano por su colaboracion.
 

Leer las respuestas

#1 A.Poblacion
30/09/2005 - 07:49 | Informe spam
"Calixto Mercado" wrote in message
news:039401c5c53c$7e789af0$
Mi pregunta es la siguiente, estoy implementando una
aplicacion que requiere que varios subprocesos (Threads)
intercambien datos, el problema es que no se cual es la
mejor forma, he investigado y creo que puedeo hacerlo de
las siguientes maneras:
1. usando Thread Local Storage.
2. usando una clase Singleton para que los subprocesos
puedan escribir y leer de esto objeto singleton, que
podria ser una cola.
3.- usando Named Pipes.



Se te olvida el método más simple de todos: si lo que quieres es que los
threads intercambien datos, basta con que utilices una variable normal (que
NO sea Thread Local), y todos los threads son capaces de verla. La única
precaución que hay que tomar es utilizar un bloqueo antes de acceder a la
variable y quitarlo después, para evitar que un thread la lea mientras otro
la tiene a medio escribir. Para poner el bloqueo, puedes usar un método
sencillo, como la sentencia lock(){}, u otros más sofisticados tales como un
contexto de sincronización ([Synchronization()]) o una región de código
sincronizado ([MethodImplAttribute(MethodImplOptions.Synchronized)]).

Preguntas similares