elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [C#] hilos parametros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C#] hilos parametros  (Leído 3,376 veces)
kondrag_X1

Desconectado Desconectado

Mensajes: 157


Ver Perfil
[C#] hilos parametros
« en: 24 Agosto 2016, 08:51 am »

Hola a todos, a ver si alguien me puede echar una mano que estoy un pelin perdido.

Bueno pues el tema es que tengo una clase que lanza un hilo, y como en el programa solo se instanciaba una vez, la variables de la clase se compartian con el hijo mediante el identificador static y no habia ningún problema. Pero ahora necesito instanciar dos objetos y al estar la variables de la clase como static son compartidas por todos los objetos de la aplicacion. Cómo se puede solucionar esto? usando delegados?

 :silbar:


En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: [C#] hilos parametros
« Respuesta #1 en: 24 Agosto 2016, 19:42 pm »

Si lo que quieres es que la variable se siga compartiendo con las clases hijo pero que se cree una instancia por cada objeto creado entonces utiliza protected en lugar de static.


En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
kondrag_X1

Desconectado Desconectado

Mensajes: 157


Ver Perfil
Re: [C#] hilos parametros
« Respuesta #2 en: 25 Agosto 2016, 10:25 am »

No lo que quiero es que cada clase comparta la variable con su hilo, al final haciendo una copia del los parámetros se los paso al hilo y me ha funcionado. Lo malo que si deseo que se modifique desde el hilo tendre que implementar un patron observador para notificar a la clase.

En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: [C#] hilos parametros
« Respuesta #3 en: 25 Agosto 2016, 20:50 pm »

Creo que ya te entendí, déjame resumirlo así:

  • Debe haber una variable 'x' que necesita ser estática para poder ser usada por todo el proyecto.
  • Cuando se cree un hilo en una instancia de la clase, se debe pasar el valor de la variable 'x' para que sea independiente en cada instancia.
  • Cuando en una de las instancias se modifique el valor que se le pasó como parámetro entonces ese valor debe verse reflejado en la variable estática 'x'.

Si es así, el propio problema te da la solución: Crea una variable privada en la clase cuyo valor sea el de la variable 'x' cuando lanzas el hilo y en el código del hilo trabaja con ella en vez de la variable 'x'.

Te podemos ayudar mejor si compartes el código.
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
kondrag_X1

Desconectado Desconectado

Mensajes: 157


Ver Perfil
Re: [C#] hilos parametros
« Respuesta #4 en: 29 Agosto 2016, 15:15 pm »

Código:
class M
{
 public static X;
 private Thread mT;
 public M()
{
mT = new Thread(startThread);
mt.Start();
}

 public void startThread()
 {
   // aqui leo la variable
 }
}

public Main()
{
 M uno = new M();
 M dos = new M();
}
[code]

El problema esque ambas clases compartiran la variable statica y si la hago publica protected no se puede modificar por el hilo. No sé si ahora se entenderá un poco mas el problema.
[/code]
En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: [C#] hilos parametros
« Respuesta #5 en: 29 Agosto 2016, 23:58 pm »

Por favor utiliza los términos adecuados para describir el comportamiento de tu código porque 'compartir' significa que será la misma variable para todos los hilos. Decide cual será exactamente el comportamiento de tu aplicación porque sólo puedes tener uno de los dos comportamientos static o private. Otra cosa, no estás mostrando en qué parte se te niega la asignación a la variable.
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Más información en los hilos.
Sugerencias y dudas sobre el Foro
oklopo 1 2,016 Último mensaje 2 Mayo 2004, 00:20 am
por [[SpAwN]]
Hilos en C
Programación C/C++
mapers 2 6,109 Último mensaje 13 Junio 2011, 10:21 am
por mapers
Hilos C « 1 2 »
Programación C/C++
<<<-Basura->>> 10 5,527 Último mensaje 27 Febrero 2013, 17:53 pm
por <<<-Basura->>>
Hilos
Programación C/C++
yabadabadu93 0 1,379 Último mensaje 8 Diciembre 2015, 11:55 am
por yabadabadu93
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines