Question 1
Question
Ventajas/inconvenientes de la programación concurrente:
Es más eficiente que la programación secuencial, pues permite aprovechar mejor los recursos máquina
Question 2
Question
Ventajas/inconvenientes de la programación concurrente:
Permite en una misma aplicación múltiples actividades simultáneas, ofreciendo mejor servicio al usuario.
Question 3
Question
Ventajas/inconvenientes de la programación concurrente:
La depuración es más sencilla que en la programación secuencial.
Question 4
Question
Ventajas/inconvenientes de la programación concurrente:
La ejecución paralela de múltiples actividades puede plantear problemas en el acceso a algunos recursos
Question 5
Question
Utilización de hilos en Java:
En Java solo se puede crear hilos si se utiliza el paquete java.util.concurrent.
Question 6
Question
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
Question 7
Question
Utilización de hilos en Java:
Para asignar nombre a los hilos se puede pasar una cadena como argumento en su constructor
Question 8
Question
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
Question 9
Question
Al ejecutar este programa llegan a generarse trece hilos.
Question 10
Question
Al ejecutar este programa se crean infinitos hilos.
Question 11
Question
Sólo dos de los hilos escriben algún mensaje por pantalla.
Question 12
Question
Este programa demuestra que crear un hilo no tiene efectos aparentes si no se llega a invocar su método start().
Question 13
Question
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'
Question 14
Question
Sobre el estado de planificación de los hilos en Java:
Thread.yield() hace que un hilo pase del estado 'preparado' al estado 'suspendido'
Question 15
Question
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.
Question 16
Question
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'
Question 17
Question
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).
Question 18
Question
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.
Question 19
Question
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
Question 20
Question
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.
Question 21
Question
Un monitor...:
gestiona automáticamente los mecanismos necesarios para garantizar exclusión mutua
Question 22
Question
Un monitor...:
es indispensable para crear aplicaciones concurrentes en Java
Question 23
Question
Un monitor...:
proporciona mecanismos para resolver la sincronización condicional.
Question 24
Question
Un monitor...:
permite resolver problemas que no podemos resolver con los semáforos.
Question 25
Question
Para construir monitores en Java...:
debemos añadir el calificador “synchronized” a cada uno de los métodos públicos de la clase
Question 26
Question
Para construir monitores en Java...:
utilizamos la biblioteca java.lang.concurrency para garantizar exclusión mutua de manera automática.
Question 27
Question
Para construir monitores en Java...:
utilizamos los métodos wait, notify y notifyAll (heredados de Object) para implantar exclusión mutua
Question 28
Question
Para construir monitores en Java...:
utilizamos los métodos sleep() e interrupt() (heredados de la clase Thread) para implantar sincronización condicional.
Question 29
Question
Un monitor que siga el modelo de Hoare...:
evita que múltiples hilos lleguen a compartir memoria.
Question 30
Question
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
Question 31
Question
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().
Question 32
Question
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