Por otro lado, la seccion critica implica varios hilos accediendo a la misma zona de memoria. y la idea del productor consumidor que se esta proponiendo es que a cada uno se le de lo que debe consumir en su zona de memoria. Luego no hay acceso a memoria por parte de varios procesos luego no existe seccion critica.
Cuando acaba cada hilo suma un 1 en otra tabla con slots numericos o simplemente se puede mirar si la palabra que tiene es igual o no a la anterior (o el puntero a dicha palabra).
En ningun momento estoy diciendo que sea la panacea, simplemente digo que en determinados contextos los hilos se utilizan y salen programas sencillos. La mayoria de gente que empieza a programar y hace un servidor que desea servir a multiples clientes se le hace mucho mas facil la version multihilo.
Lo malo es que un programador descuidado puede hacer que el consumidor primero escriba el flag y luego la clave y el productor recupere un resultado incorrecto.
Hum, tienes razón, me he obcecado. Cuando hablaste del módulo no entendí a qué te referías exactamente.
No entiendo la segunda opción que das. El productor necesita una notificación del consumidor para saber que ha terminado y con mirar si la palabra sigue siendo igual no lo veo posible.
Otra opción es que el propio productor lance un nuevo hilo con cada dato. Muy costosa
Igual tiene mas relacion con estar discutiendo esto en un foro en lugar de en un bar (con varias pintas) que con que te hayas obcecado.
CitarLo malo es que un programador descuidado puede hacer que el consumidor primero escriba el flag y luego la clave y el productor recupere un resultado incorrecto.Ya pero el programador descuidado o novato perfectamente se puede pegar 3 horas porque no se ha fijado que tiene un = en lugar de un ==.
En la gestion de las interfaces de usuario llevan muchas veces inherente el uso de hilos y no hay que tener miedo.
De hecho la programacion en ese tipo de contextos la hace practicamente todo el mundo sin ningun tipo de problemas
No obstante, quiero recalcar que estoy contigo en que los problemas de seccion critica y acceso concurrente son uno de los problemas mas jodidos de programacion. El hacerlo bien pasa por pegarse horas pensando en como van a ir los flujos y como extiendas demasiado las zonas de acceso concurrente la via de la formalidad no es una opcion.