C sharp - Multihilo

 
Vista:

Multihilo

Publicado por Freddy Martinez Garcia (3 intervenciones) el 23/03/2006 18:04:38
Hola a quien esté interesado ayudarme....

Le comento que estoy haciendo una aplicación multihilo donde tengo varias secciones críticas y el problema que tengo es el siguiente:

Necesito bloquear un hilo en una parte de la sección crítica para que otros no puedan acceder a esta parte del código cuando hay no ejecutando la misma. Eso lo logro con la clase Monitor (que es la que estoy usando) bloqueándolo con un objeto estático, pero para desloquear la sección crítica, tengo que hacerlo dentro del mismo método donde fue bloqueada y yo necesito hacerlo desde otro método, o sea:

static object obj = new object();
Monitor.Enter(obj);
//codigo

y en otro método quiero hacer
Monitor.Exit(obj)

Pero cuando hago esto no el hilo que está esperando el desbloqueo no continua con la ejecución....

Si alguien ha logrado hacer algo de esto, por favor que me diga

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

RE:Multihilo

Publicado por cristian (2 intervenciones) el 28/06/2006 17:12:55
Si lo que tratas de hacer no se debe de hacer. Rompe con el paradigma clasico de secciones criticas.
Lo Que haces en buena teoria no debiera de hacerse
Deberias replantear la solucion del problema.

PERO:::
He trabajado mucho con hilos y secciones criticas , en unix como en windows he aprendido que se han desarrollado nuevas versiones de bloqueos que de alguna forma no bloquean (aunque paresca extraño), permiten tomar una lock aunque otro proceso la haya adquirido con anterioridad. Exactamente no se como funcionan parece que internamente manejar una cola que va almacenando el contexto del hilo (s) que lo tienen accesado. estos bloqueos solo los he visto en sistemas de alto desempeño, supongo que es con el fin de aumetar el performance.
Con este tipo de bloqueos es posible que se puedan hacer cosas como las que usted desea hacer.(no estor seguro).
aun asi le sigo recomendando replantear la solucion del problema.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar