Foros del Web » Programación para mayores de 30 ;) » .NET »

Sincronizacion de threads

Estas en el tema de Sincronizacion de threads en el foro de .NET en Foros del Web. Tengo una aplicacon, trabajando con sockets, que al iniciarse, pone un thread a esperar conexiones, cuando recibe una conexion, se crea una clase que tiene ...
  #1 (permalink)  
Antiguo 02/11/2010, 02:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 52
Antigüedad: 15 años, 8 meses
Puntos: 0
Sincronizacion de threads

Tengo una aplicacon, trabajando con sockets, que al iniciarse, pone un thread a esperar conexiones, cuando recibe una conexion, se crea una clase que tiene otro thread interno. Entonces, en el thread interno, recibe unos datos por el socket, que agrega a los atributos de esa clase, y desde el thread que recibia clientes, que esta en el Form, quiero agregar esos atributos a un DataGrid:

El problema, en cuanto crea la clase, se ejecuta la linea de que se agrege al dataGrid la clase, y aun no le han llegado los datos, asique como parche temporal he hecho un while(cliente.Nombre==""){} y asi, hasta que en el otro thread no le lleguen los datos y le agregue el valor se queda ahi.

Entonces mmmmm como deberia solucionarlo? en principio yo he pensado que deberia ser la clase, la que tu viera un metodo que al llegarle los datos los agregase al dataSource, pero desde la clase no puedo acceder al form, no se, aqui ya empiezo a perderme, igual deberia crear un metodo statico y publico para poder acceder desde el thread de la clase del cliente o no se, ¿alguna ayuda?

EDIT: Quizas se podria hacer un evento para que cuando cambien los valores de los atributos se llame a un metodo que actualiza el dataGrid?
  #2 (permalink)  
Antiguo 03/11/2010, 12:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 52
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Sincronizacion de threads

nada de nada? :(
  #3 (permalink)  
Antiguo 04/11/2010, 14:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 52
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Sincronizacion de threads

SOLUCIONADO:

Quizas sea otro parche pero al menos este es mucho menos perjudicial para la aplicacion, por si a alguien le interesa, para solucionarlo lo que he hecho ha sido un metodo publico en el form que mostraba lo que queria mostrar, y le paso el form a la clase, asi en la clase cuando llega el dato, llamo al metodo y listo. y por si acaso peta por estar en diferentes procesos hay un try - catch que hace un Invoke al mismo metodo.

Etiquetas: sincronizacion, threads
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:53.