option
Cuestiones
ayuda
daypo
buscar.php

Programacion de servicios y procesos - Tema 3

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Programacion de servicios y procesos - Tema 3

Descripción:
Tema 3 - Programacion Multihilo

Fecha de Creación: 2026/05/13

Categoría: Informática

Número Preguntas: 50

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Cuál es el propósito del método `void start()` en la clase `Thread`?. Inicializa el hilo. Comienza la ejecución del hilo. Devuelve la referencia del hilo. Detiene el hilo.

¿Qué devuelve el método `static Thread currentThread()`?. El identificador del hilo actual. La referencia del hilo que se encuentra en ejecución. El estado del hilo actual. Una nueva instancia de Thread.

¿Cuál es la función del método `static void sleep(long milis)`?. Finaliza la ejecución del hilo. Interrumpe el hilo. Detiene el hilo durante un número específico de milisegundos. Cambia la prioridad del hilo.

¿Qué método se utiliza para interrumpir la ejecución de un hilo?. stop(). interrupt(). suspend(). break().

En la clase `Thread`, ¿qué método utilizarías para inicializar el hilo?. void init(). void start(). void run(). void initialize().

¿Qué es un proceso?. Un conjunto de tareas ejecutadas por el sistema operativo. Un programa en ejecución, independiente de otros procesos. Una hebra o subproceso. Un bloque de código que se ejecuta concurrentemente.

¿Qué son los hilos (o hebras)?. Procesos independientes que comparten recursos. Un conjunto de tareas que se ejecutan por el sistema operativo dentro de un proceso. Programas que se ejecutan en segundo plano. Mecanismos de comunicación entre procesos.

En comparación con los procesos, ¿qué característica principal comparten los hilos?. Independencia total. Espacio de memoria separado. Memoria compartida. Comunicación explícita a través de IPC.

¿Cuál de las siguientes es una ventaja de usar hilos en lugar de procesos?. Menor coste de creación y cambio de contexto. Mayor aislamiento entre tareas. Menor riesgo de inconsistencia de datos. Mayor consumo de memoria.

¿Para qué se utilizan comúnmente los hilos en muchas aplicaciones?. Para ejecutar tareas críticas del sistema operativo. Para realizar tareas en segundo plano y mejorar la simultaneidad. Para gestionar la red y la entrada/salida. Para la interfaz gráfica de usuario principal.

Un navegador web con múltiples pestañas abiertas es un ejemplo de: Múltiples procesos independientes. Un proceso con varios hilos que comparten memoria. Un único hilo ejecutando todas las pestañas secuencialmente. Un sistema multiprocesador.

¿Cuál es el estado de un hilo que ha sido creado pero aún no ha comenzado su ejecución?. Ejecución. Bloqueado. Muerto. Listo (Nuevo).

Si un hilo llama al método `wait()`, ¿en qué estado entra?. Ejecución. Bloqueado. Muerto. Listo.

¿Qué sucede cuando un hilo finaliza la ejecución de su método `run()`?. Entra en estado de bloqueo. Vuelve al estado listo. Pasa al estado Muerto y libera sus recursos. Se detiene temporalmente.

¿Qué método debe invocar otro hilo para despertar a un hilo que está en estado de bloqueo por `wait()`?. resume(). notify() o notifyAll(). start(). sleep().

Un problema de 'Condición de carrera' ocurre cuando: Dos hilos intentan acceder al mismo recurso al mismo tiempo. La salida de un programa depende de la secuencia de eventos de los hilos. Un hilo queda esperando indefinidamente por un recurso. La memoria compartida se corrompe.

¿Qué es la 'Inconsistencia de memoria'?. Cuando un hilo no puede acceder a la memoria. Cuando varios hilos ven diferentes valores para el mismo dato en memoria. Cuando la memoria se llena completamente. Cuando un hilo modifica la memoria de otro proceso.

La 'Inanición' (starvation) en hilos se refiere a: Un hilo que se bloquea permanentemente esperando un recurso. Un hilo que se detiene por un tiempo indefinido. Un hilo que se ejecuta demasiado rápido. Un hilo que consume toda la memoria.

¿Qué es un 'Interbloqueo' (deadlock)?. Un hilo que se detiene por error. Dos o más hilos que se bloquean mutuamente, esperando cada uno un recurso que el otro posee. Un hilo que consume todos los recursos del sistema. Un programa que se cierra inesperadamente.

¿Qué mecanismo se utiliza para evitar problemas de sincronización como condiciones de carrera o interbloqueos?. Incrementar la memoria RAM. Utilizar más procesos en lugar de hilos. Implementar mecanismos de sincronización como zonas de exclusión mutua. Reducir el número de hilos.

¿Qué son las 'Operaciones atómicas' en el contexto de hilos?. Operaciones que se pueden interrumpir fácilmente. Operaciones que se ejecutan en secuencia. Operaciones que se realizan como una unidad indivisible, a la vez, para evitar conflictos. Operaciones que solo pueden ser realizadas por un hilo a la vez.

¿Cuál es el propósito de las 'Secciones críticas'?. Permitir que varios hilos accedan a datos compartidos simultáneamente. Estructurar el código para que los datos compartidos se accedan de forma ordenada y controlada. Aumentar la velocidad de ejecución de los hilos. Prevenir el bloqueo de hilos.

¿Cómo funcionan los 'Semáforos' en la comunicación entre hilos?. Permiten el acceso ilimitado a recursos compartidos. Toman valores 0 o 1; un hilo inicia el semáforo a 1 al acceder y lo deja a 0 al finalizar. Solo permiten la comunicación a través de mensajes. Aseguran que solo un hilo acceda al recurso a la vez, sin importar el valor.

Las 'Tuberías' (Pipes) facilitan la comunicación entre hilos mediante: Un sistema de buzones de correo. Una cola con prioridad FIFO (First-In, First-Out). Un mecanismo de bloqueo y desbloqueo. El uso de memoria compartida directa.

¿Qué aseguran los 'Monitores' en la gestión de recursos compartidos?. Que múltiples hilos puedan acceder al recurso simultáneamente. Que solo un hilo tenga acceso al recurso en estado de 'ejecución' y que este sea devuelto al finalizar. La comunicación asíncrona entre hilos. La creación automática de nuevos hilos.

¿Cuál es una desventaja del 'Paso de mensajes' para la comunicación entre hilos?. Es más rápido que otros métodos. Requiere menos seguridad en el envío y recepción. El coste de implementación suele ser mayor. No garantiza el acceso exclusivo a recursos.

Si el Hilo A escribe 'Hola' y el Hilo B escribe 'Adiós' en el mismo fichero sin sincronización, ¿cuál podría ser el resultado?. HolaAdiós. AdiósHola. Letras entremezcladas como 'HoAldiaós'. Solo se escribiría una de las dos cadenas.

¿Cómo se logra la sincronización en Java usando `synchronized(objeto)`?. Permite que todos los hilos accedan al objeto simultáneamente. Marca el objeto como temporalmente ocupado, haciendo que otros hilos que intenten acceder a él se bloqueen hasta que se libere. Crea una copia del objeto para cada hilo. Aumenta la prioridad del hilo que accede al objeto.

La 'Gestión de hilos por parte del sistema operativo' puede ser de dos tipos principales. ¿Cuáles son?. Monoprocesador y Multiprocesador. Apropiativo y Cooperativo. Secuencial y Paralelo. Local y Remoto.

¿Cuál es una posible desventaja del 'Multihilo apropiativo'?. El sistema puede cambiar de contexto en un momento inoportuno, causando problemas. Los hilos deben ceder el control manualmente. Requiere más memoria RAM. Es más lento que el multihilo cooperativo.

En 'Multihilo cooperativo', ¿quién decide cuándo abandonar el control?. El sistema operativo. El hilo mismo, al llegar a un punto de detección. El procesador. La aplicación externa.

¿Cómo se puede aumentar o disminuir la prioridad de un hilo en Java?. Con los métodos `getPriority()` y `setPriority()`. Solo se puede establecer la prioridad al crear el hilo. Mediante la interrupción del hilo. No es posible cambiar la prioridad una vez creado el hilo.

¿Cuál es el rango de valores para la prioridad de un hilo en Java?. 0 a 100. 1 a 10. -1 a 1. Solo valores booleanos (alta/baja).

¿Qué función tienen los 'puntos de interrupción' (breakpoints) en el desarrollo de software?. Acelerar la ejecución del programa. Indicar al depurador dónde parar o pausar la ejecución para inspeccionar el estado. Generar automáticamente el código. Mejorar la interfaz de usuario.

Además de detener la ejecución, ¿para qué más se utilizan los puntos de interrupción?. Para compilar el código. Para mostrar valores y mensajes que ayuden a comprobar la corrección de datos y la ejecución. Para optimizar el uso de memoria. Para desplegar la aplicación.

¿Qué significa que un hilo se encuentre en el estado 'Ejecución'?. Que ha sido creado pero aún no se está ejecutando. Que está esperando una señal para continuar. Que el procesador está actualmente ejecutando sus instrucciones. Que ha finalizado su tarea.

¿Por qué es importante la documentación detallada en una aplicación?. Para aumentar el tamaño del archivo ejecutable. Para hacer el código más difícil de entender. Para describir la funcionalidad y los puntos relevantes, facilitando la comprensión de su funcionamiento. Para evitar la necesidad de depuración.

Cuando varios hilos comparten el mismo espacio de memoria, ¿qué problema de sincronización podría ocurrir?. Inconsistencia de memoria. Inanición. Interbloqueo. Todas las respuestas son correctas.

En el diagrama de 'RECURSOS COMPARTIDOS POR HILOS', ¿qué elementos son exclusivos de cada hilo?. Código, Datos, Recursos. Registros, Pila. Hilo principal. Datos compartidos.

La técnica 'Monohilo' (unhilo) se refiere a: Una aplicación con múltiples hilos. Una aplicación con un solo hilo de ejecución. Un sistema operativo que maneja un solo proceso. Un programa que solo puede hacer una cosa a la vez.

La técnica 'Multihilo' (multithread) se refiere a: Una aplicación que utiliza múltiples hilos de ejecución. Un sistema que solo puede ejecutar un proceso a la vez. Un programa diseñado para una sola tarea. Un tipo de hardware específico.

¿Qué método se utiliza para obtener el identificador de un hilo?. getID(). getId(). getIdentifier(). threadId().

Si un hilo se bloquea al invocar `sleep()`, ¿cuándo vuelve al estado 'Ejecutable'?. Cuando otro hilo lo interrumpe. Cuando finaliza el tiempo especificado en `sleep()` o es interrumpido. Inmediatamente después de llamar a `sleep()`. Solo si otro hilo llama a `notify()`.

¿Qué es la 'zona de exclusión mutua' (mutex)?. Un método para crear nuevos hilos. Un mecanismo que asegura que solo un hilo a la vez pueda acceder a una sección crítica de código. Una forma de comunicación directa entre hilos sin usar memoria compartida. Un estado en el ciclo de vida de un hilo.

¿Cuál de los siguientes NO es un problema de sincronización mencionado en el documento?. Condición de carrera. Inanición. Interbloqueo. Desbordamiento de pila (Stack Overflow).

En el contexto de hilos, ¿qué significa que el sistema operativo determine el cambio de contexto (Multihilo apropiativo)?. El hilo tiene que pedir permiso para ceder el control. El sistema operativo decide cuándo un hilo deja de ejecutarse y otro comienza. Solo los hilos de alta prioridad pueden ser interrumpidos. El cambio de contexto solo ocurre al finalizar el programa.

¿Qué método se utiliza para 'despertar' a un hilo que fue bloqueado por `wait()` y que solo debe despertar a un hilo específico?. notifyAll(). resume(). notify(). wakeUp().

Si un hilo llama al método `suspend()`, ¿cómo puede ser reactivado?. Automáticamente después de un tiempo. Invocando su método `resume()`. Invocando `notify()`. El hilo queda permanentemente bloqueado.

La prioridad de un hilo se mide en un rango de valores enteros. ¿Cuál es el valor máximo de prioridad en Java?. MIN_PRIORITY. 10. MAX_PRIORITY. 1.

¿Qué ocurre si varios hilos tienen la misma prioridad en Java?. El sistema operativo elige uno al azar. La máquina virtual cede el control de forma cíclica entre ellos. El hilo creado primero se ejecuta antes. Todos se ejecutan exactamente al mismo tiempo.

Denunciar Test