C sharp - conceptos orden de ejecucion

 
Vista:

conceptos orden de ejecucion

Publicado por Cris (3 intervenciones) el 30/08/2007 16:59:46
Hola!!

Estoy haciendo una aplicacion que consta de dos threads y consiste en transmision y recepcion de mensajes.
Por un lado, tengo un thread que escucha continuamente si han llegado mensajes, en caso de que hayan llegado, obtiene la direccion del emisor y la identificacion del mensaje, si el mensaje es "ACK" pongo flag_ack =1.

Por otro lado, el main, en primer lugar crea el thread "listener" que escuchara el puerto a la espera de mensajes. Despues, hay una accion iterativa dentro de un bucle while en la que ha de chequear este flag, flag_ack (que es una variable global) y si esta a 1 envia el siguiente mensaje y asi sucesivamente hasta que se da una condicion de salida.

Bueno, como es obvio :) , el codigo no funciona...

Mis preguntas son las siguientes, cual es el orden de ejecucion cuando hay dos threads y uno de ellos es el main???
Necesito proteccion para acceder a la variable flag_ack si en un lado tomo su valor (en el thread listener) y en el otro lo chequeo?porque tengo la impresion de que solo accedo al thread listener cuando salgo del bucle del main ....
Necesito "dormir" al main para poder acceder al thread "listener" ???

Me ayudaria mucho si alguien me pudiera aclarar estos conceptos porque cada vez entiendo menos :( ....

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder