Pregunta 1
Pregunta
Ventajas/inconvenientes de la programación concurrente:
Es más eficiente que la programación secuencial, pues permite aprovechar mejor los recursos máquina
Pregunta 2
Pregunta
Ventajas/inconvenientes de la programación concurrente:
Permite en una misma aplicación múltiples actividades simultáneas, ofreciendo mejor servicio al usuario.
Pregunta 3
Pregunta
Ventajas/inconvenientes de la programación concurrente:
La depuración es más sencilla que en la programación secuencial.
Pregunta 4
Pregunta
Ventajas/inconvenientes de la programación concurrente:
La ejecución paralela de múltiples actividades puede plantear problemas en el acceso a algunos recursos
Pregunta 5
Pregunta
Utilización de hilos en Java:
En Java solo se puede crear hilos si se utiliza el paquete java.util.concurrent.
Pregunta 6
Pregunta
Utilización de hilos en Java:
El código a ejecutar por cada hilo debe estar contenido en su método start(), que puede reescribirse
Pregunta 7
Pregunta
Utilización de hilos en Java:
Para asignar nombre a los hilos se puede pasar una cadena como argumento en su constructor
Pregunta 8
Pregunta
Utilización de hilos en Java:
Los objetos definidos en Java se mantienen en el 'heap' y son compartidos por los hilos que tengan una referencia a ellos
Pregunta 9
Pregunta
Al ejecutar este programa llegan a generarse trece hilos.
Pregunta 10
Pregunta
Al ejecutar este programa se crean infinitos hilos.
Pregunta 11
Pregunta
Sólo dos de los hilos escriben algún mensaje por pantalla.
Pregunta 12
Pregunta
Este programa demuestra que crear un hilo no tiene efectos aparentes si no se llega a invocar su método start().
Pregunta 13
Pregunta
Sobre el estado de planificación de los hilos en Java:
Si un hilo utiliza el método wait() de un objeto pasa del estado 'en ejecución' al 'preparado'
Pregunta 14
Pregunta
Sobre el estado de planificación de los hilos en Java:
Thread.yield() hace que un hilo pase del estado 'preparado' al estado 'suspendido'
Pregunta 15
Pregunta
Sobre el estado de planificación de los hilos en Java:
Los estados Blocked, Waiting y Timed-waiting de Java corresponden al estado 'suspendido' visto en Fundamentos de los Sistemas Operativos.
Pregunta 16
Pregunta
Sobre el estado de planificación de los hilos en Java:
Un hilo Java no puede pasar directamente del estado 'en ejecución' al estado 'preparado'
Pregunta 17
Pregunta
Suponemos que el código de todos los hilos de un determinado programa esta protegido por un mismo 'lock' (cada hilo lo cierra al empezar y lo abre justo antes de terminar)
Cumple trivialmente la propiedad de exclusión mutua (no es neceario reforzarlo en el código).
Pregunta 18
Pregunta
Suponemos que el código de todos los hilos de un determinado programa esta protegido por un mismo 'lock' (cada hilo lo cierra al empezar y lo abre justo antes de terminar)
Fuerza a que los hilos siguieran una ejecución secuencial.
Pregunta 19
Pregunta
Suponemos que el código de todos los hilos de un determinado programa esta protegido por un mismo 'lock' (cada hilo lo cierra al empezar y lo abre justo antes de terminar)
Obtenemos paralelismo real
Pregunta 20
Pregunta
Suponemos que el código de todos los hilos de un determinado programa esta protegido por un mismo 'lock' (cada hilo lo cierra al empezar y lo abre justo antes de terminar)
No hay condiciones de carrera.
Pregunta 21
Pregunta
Un monitor...:
gestiona automáticamente los mecanismos necesarios para garantizar exclusión mutua
Pregunta 22
Pregunta
Un monitor...:
es indispensable para crear aplicaciones concurrentes en Java
Pregunta 23
Pregunta
Un monitor...:
proporciona mecanismos para resolver la sincronización condicional.
Pregunta 24
Pregunta
Un monitor...:
permite resolver problemas que no podemos resolver con los semáforos.
Pregunta 25
Pregunta
Para construir monitores en Java...:
debemos añadir el calificador “synchronized” a cada uno de los métodos públicos de la clase
Pregunta 26
Pregunta
Para construir monitores en Java...:
utilizamos la biblioteca java.lang.concurrency para garantizar exclusión mutua de manera automática.
Pregunta 27
Pregunta
Para construir monitores en Java...:
utilizamos los métodos wait, notify y notifyAll (heredados de Object) para implantar exclusión mutua
Pregunta 28
Pregunta
Para construir monitores en Java...:
utilizamos los métodos sleep() e interrupt() (heredados de la clase Thread) para implantar sincronización condicional.
Pregunta 29
Pregunta
Un monitor que siga el modelo de Hoare...:
evita que múltiples hilos lleguen a compartir memoria.
Pregunta 30
Pregunta
Un monitor que siga el modelo de Hoare...:
obliga a que en los métodos donde se invoca a notify(), ésta sea la última sentencia
Pregunta 31
Pregunta
Un monitor que siga el modelo de Hoare...:
suspende (y deja en una cola especial de entrada) al hilo que ha invocado a notify(), activando a uno de los hilos suspendidos por wait().
Pregunta 32
Pregunta
Un monitor que siga el modelo de Hoare...:
no reactiva a ningún hilo suspendido en wait() mientras el hilo notificador no abandone voluntariamente el monitor