Archivo de la etiqueta: programación concurrente

asignación del trabajo final de programación concurrente

Hoy me han asignado el trabajo final de la asignatura de programación concurrente del máster en computación que estoy realizando en la Universidad de Cantabria. Mediante la resolución y presentación de este trabajo voy a ser evaluado en la asignatura. En el archivo comprimido que he recibido por correo electrónico se encuentra una implementación secuencial de la aplicación y un documento de ocho páginas en el que se explica el objeto del mismo:

El objetivo de este trabajo es diseñar un driver que facilite el uso de una tarjeta de entrada y salida analógica con 8 líneas analógicas de entrada y 4 líneas analógicas de salida, por aplicaciones concurrentes, así como el diseño de las aplicaciones concurrentes que hacen uso de ellas.

Los drivers son unas piezas de software, normalmente integradas en el sistema operativo, que suelen hacer uso intensivo de los threads. Aquí hay que tener en cuenta que no importa tanto entender la especificación del mismo como la implementación secuencial para poder convertirla en una implementación concurrente. El trabajo debe ser terminado este mes de noviembre. El resultado va a ser el código de la implementación concurrente y una presentación para ser defender la solución adoptada ante el profesor responsable de la asignatura.

concurrencia en otros lenguajes

El curso de Programación Concurrente del Máster de Computación me ha dotado de los conocimientos básicos necesarios para entender y aplicar la programación concurrente en varios escenarios más allá del lenguaje de programación Java y el paradigma de programación orientada al objeto, y más allá también de los servicios que ofrecen en este sentido los sistemas operativos modernos. Hoy me he puesto a investigar un poco cómo se trata la concurrencia en otros lenguajes y sistemas operativos de los que he tenido contacto en esta asignatura del máster (i.e Java y Microsoft Windows)

Sigue leyendo concurrencia en otros lenguajes

laboratorio de programación concurrente: sincronización

Esta semana tenía que haber estado dedicada a la concurrencia en el lenguaje de programación Ada, pero la ausencia del profesor que nos lo iba a impartir la parte teórica de lunes a miércoles ha provocado que tengamos una extensión de la parte de laboratorio de programación concurrente en java. En este laboratorio estamos realizando una práctica tutorizada de simulación de trenes en la que ya hemos hecho la primera parte de conversión en Threads concurrentes de los objetos Tren.

Esta conversión es el primer paso del trabajo de asegurar que las clases compartidas por esos Threads, Tunel y CentroRegulación, sean thread-safe protegiendo su estado y asegurando que se cumplen los invariantes en cuanto a su correcta utilización por parte de los trenes (en la clase Tunel solamente pueden circular trenes en un sentido, pertenecientes al mismo tramo, en un momento dado)

Sigue leyendo laboratorio de programación concurrente: sincronización

Java Threads Book y recursos java

Hoy me he leído los cuatro primeros capítulos del libro sobre programación concurrente en Java que cogí de la biblioteca de la facultad de ciencias ayer. El libro es el siguiente:

Java Threads. Understanding and Mastering Concurrent Programming. Scott Oaks and Henry Wong. 3rd Edition. Covers J2SE 5.0 Tiger. O’Reilly 2004.

El libro tiene una página web propia desde la que se pueden descargar los ejemplos de código que vienen en el libro en esta edición y en ediciones anteriores (que cubren versiones anteriores de la plataforma Java) El libro cubre todos los nuevos recursos para la programación concurrente que incluye la versión J2SE 5.0 (JDK 1.5) y las diferencias con versiones anteriores que obligaban a construir estos recursos de forma independiente o recurrir a librerías (APIs) propietarias de terceros.

Sigue leyendo Java Threads Book y recursos java