Ejemplo de comunicación entre hilos

El siguiente ejemplo constituye una implementación muy sencilla del problema productor/consumidor. Se compone de cuatro clases muy simples: Q, la cola, cuyo acceso tratamos de sincronizar; Producer, el objeto hilo que genera datos para la cola; Consumer, el objeto hilo que consume datos de la cola; y PC, la miniclase que crea Q, Producer y…… Continúa leyendo Ejemplo de comunicación entre hilos

Comunicación entre hilos

Ahora que ya hemos entendido (espero) cómo utilizar synchronized para bloquear el acceso a secciones importantes de nuestros programas, podemos empezar a utilizar los hilos de manera más eficiente. Para desplegar de lleno la potencia de la programación multihilo, lo único que nos falta por aprender es cómo comunicar entre sí los hilos. En los…… Continúa leyendo Comunicación entre hilos

La sentencia synchronized

Si se utiliza una clase que no fue diseñada para accesos multihilo y, por ello, dispone de métodos no sincronizados que manipulan el estado interno, puede envolver la llamada al método en un bloque sincronizado. El formato general de la sentencia sincronizada es el siguiente: synchronized(objeto) sentencia; En el ejemplo, objeto es cualquier referencia al…… Continúa leyendo La sentencia synchronized

Introducción a la sincronización

Bueno, ahora veamos los hilos con mayor detalle. Cuando dos o más hilos necesitan acceder de manera simultánea a un recurso de datos compartido necesitan asegurarse de que sólo uno de ellos accede al mismo cada vez. Java proporciona un soporte único, a nivel de lenguaje, para dichas tareas de sincronización. Otros sistemas multihilo hacen…… Continúa leyendo Introducción a la sincronización