He intentado implementar un patrón productor/consumidor en C#. Tengo un hilo de consumidor que supervisa una cola compartida y un hilo productor que coloca elementos en la cola compartida. El subproceso productor está suscrito para recibir datos ... es decir, tiene un controlador de eventos, y simplemente se sienta y espera a que se active un evento OnData (los datos se envían desde una API de terceros). Cuando obtiene los datos, los pega en la cola para que el consumidor pueda manejarlos.En .NET, ¿en qué secuencia se manejarán los eventos?
Cuando el evento OnData se dispara en el productor, esperaba que fuera manejado por mi hilo productor. Pero eso no parece ser lo que está sucediendo. ¡El evento OnData parece como si estuviera siendo manejado en un nuevo hilo en su lugar! ¿Es así como .net siempre funciona ... los eventos se manejan en su propio hilo? ¿Puedo controlar qué hilo manejará los eventos cuando se generan? ¿Qué ocurre si cientos de eventos se generan casi simultáneamente ... tendrían cada uno su propio hilo?
Podría ser útil publicar algún código, y/o las clases que está utilizando. –
¿Estás hablando de eventos en el sentido de palabra clave 'evento' de C#, o eventos en el sentido 'EventWaitHandle'? Creo que deberías publicar un código ... –
@codeka: suena como 'evento', dada su publicación. –