option
Cuestiones
ayuda
daypo
buscar.php

PSP 2

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
PSP 2

Descripción:
PSP Tema 2

Fecha de Creación: 2025/06/12

Categoría: Informática

Número Preguntas: 30

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

¿Por qué puede ser útil dormir un hilo en una aplicación Java?. Para evitar que el hilo alcance el estado "Muerto". Para asegurar que el hilo principal siempre termine primero. Para reducir el tiempo total de ejecución de la aplicación. Para dar tiempo a otros hilos, como el hilo de actualización de pantalla, para completar su tarea.

¿Cuál es el propósito de usar un UncaughtExceptionHandler en aplicaciones multihilo?. Evitar que el sistema ejecute cualquier hilo adicional tras una excepción. Crear hilos adicionales si ocurre una excepción. Interrumpir todos los hilos en ejecución si ocurre una excepción. Capturar excepciones no manejadas en un hilo para que no afecten al resto de la aplicación.

¿En qué consiste la programación multihilo o multithreading?. Es una técnica que obliga a las tareas a ejecutarse de forma secuencial. Permite dividir un programa en varios hilos de ejecución que pueden funcionar de manera concurrente. Es una técnica que permite que un programa de flujo único se ejecute más rápido. Es la forma de ejecutar varios programas diferentes al mismo tiempo.

¿Qué ocurre cuando la cuenta de un CountDownLatch llega a cero?. El CountDownLatch se reinicia automáticamente y se puede reutilizar. Los hilos en espera se bloquean indefinidamente. Los hilos en espera en el método await() son liberados y continúan su ejecución. Todos los hilos ejecutan el método countDown() al mismo tiempo.

¿Cómo se aplica un UncaughtExceptionHandler a un hilo en Java?. Usando el método setUncaughtExceptionHandler() en el hilo. Implementando el método run() de Runnable en el hilo. Usando el método addExceptionHandler() en el hilo. Usando el método handleException() en el hilo.

¿Qué ventaja ofrece la interfaz BlockingQueue sobre Queue en aplicaciones multihilo?. Evita que cualquier hilo acceda a los datos hasta que finalicen todos los procesos concurrentes. Permite que los hilos esperen hasta que haya elementos disponibles para procesar, asegurando seguridad en el acceso multihilo. Ofrece operaciones adicionales de inserción en colas sin bloqueo. Permite reiniciar la cola automáticamente tras cada procesamiento.

¿Cuál es el método utilizado para modificar la prioridad de un hilo en Java?. changePriority(). setPriority(). getPriority().

¿Cuál es la prioridad por defecto del hilo principal en Java?. 5. 1. 10.

¿Qué condición caracteriza el estado "No Ejecutable" o "Detenido" de un hilo?. El hilo está recibiendo tiempo de procesamiento en el procesador. El hilo no puede ejecutarse porque una condición interna se lo impide, como una operación de E/S. El hilo ha terminado su método run() y ha finalizado. El hilo se ha creado pero aún no está listo para ejecutarse.

¿Por qué no es seguro usar los métodos suspend() y resume() en Java?. Porque no permiten reanudar un hilo pausado. Porque están en desuso (deprecated) y pueden causar problemas de seguridad. Porque no funcionan en la última versión de Java. Porque no permiten la sincronización entre hilos.

¿Qué sucede cuando se llama a notify() en un bloque synchronized?. Notifica a todos los hilos que deben detener su ejecución. Detiene todos los hilos en ejecución excepto el hilo actual. Libera el monitor del objeto sin permitir que ningún hilo continúe. Notifica a uno de los hilos en espera para el mismo objeto que puede continuar su ejecución.

¿Cuál es la función principal de la clase CountDownLatch en Java?. Controlar el acceso concurrente a un recurso compartido entre varios hilos. Sincronizar el intercambio de objetos entre dos hilos específicos. Permitir que uno o más hilos esperen hasta que otros hilos completen su trabajo. Permitir que varios hilos se reinicien después de completar su trabajo.

¿Qué ocurre si uno de los hilos de un proceso corrompe el espacio de memoria compartido?. Los demás hilos del mismo proceso también se ven afectados. Los demás hilos se reinician automáticamente. Solo el hilo que causa el problema se detiene. El sistema operativo protege a los hilos de ese proceso.

¿Cuál es la principal función de la clase CyclicBarrier en Java?. Sincronizar un grupo de hilos sin posibilidad de reutilización. Permitir que un grupo de hilos espere hasta que todos hayan terminado su trabajo en un punto común. Permitir el intercambio de datos entre dos hilos específicos. Proporcionar un mecanismo de exclusión mutua entre hilos.

¿Por qué es importante la sincronización en la programación con hilos?. Para reducir el número de hilos en un proceso. Para evitar conflictos al acceder a recursos compartidos entre hilos. Para hacer que los hilos se ejecuten secuencialmente. Para crear hilos independientes en cada proceso.

¿Qué es la inanición (starvation) en aplicaciones concurrentes?. Es una técnica para mejorar el acceso a los recursos en concurrencia. Es la situación en la que un hilo no tiene acceso regular a los recursos compartidos y queda bloqueado. Es la interrupción de un hilo hasta que otro hilo finaliza su ejecución. Es cuando todos los hilos quedan bloqueados de forma circular.

¿Qué excepción debe manejarse al usar el método sleep()?. IOException. NullPointerException. InterruptedException. TimeoutException.

¿Qué sistema permite que múltiples hilos se ejecuten al mismo tiempo en diferentes CPUs?. Paralelismo. Pseudoparalelismo. Planificación apropiativa.

¿Por qué es importante la sincronización al programar con hilos?. Porque ayuda a ejecutar cada hilo en un proceso independiente. Porque asegura que los hilos no interfieran entre sí al acceder a recursos compartidos. Porque permite que un hilo se ejecute secuencialmente sin interrupciones. Porque mejora la velocidad general del sistema operativo.

¿Por qué se recomienda utilizar hilos en una aplicación de servidor que maneja múltiples solicitudes de clientes?. Para reducir el consumo de memoria del servidor. Para que las solicitudes se procesen en un solo hilo. Para limitar el número de conexiones que el servidor puede manejar. Para permitir que el servidor maneje varias peticiones simultáneamente.

¿Cuál de los siguientes métodos debe implementar una clase que gestiona excepciones en hilos mediante UncaughtExceptionHandler?. uncaughtException(Thread t, Throwable e). exceptionCaught(Thread t, Throwable e). handleException(Thread t, Throwable e). catchException(Thread t, Throwable e).

¿Cuál es la principal función de la clase Exchanger en Java?. Permitir que dos hilos intercambien objetos de un tipo específico entre sí. Sincronizar el acceso de múltiples hilos a un recurso compartido. Controlar el orden de ejecución de varios hilos. Proteger una sección crítica para evitar el acceso simultáneo de varios hilos.

¿Cuáles son las dos formas de definir un hilo en Java?. Solo implementando la interfaz Runnable. Usando las clases ThreadManager y RunnableManager. Extendiendo la clase Thread o implementando la interfaz Runnable. Solo extendiendo la clase Thread.

¿Qué ocurre si llamas al método run() directamente en lugar de usar start()?. El hilo se ejecuta siempre en primer lugar. El código de run() se ejecuta en el hilo actual, no en un nuevo hilo independiente. Se lanza una excepción IllegalThreadStateException. El hilo termina inmediatamente después de ejecutarse.

¿Cuál es la principal función de la interfaz Executor en Java?. Implementar colecciones seguras para hilos. Proporcionar exclusión mutua avanzada para aplicaciones complejas. Sincronizar el acceso de múltiples hilos a recursos compartidos. Permitir la ejecución de tareas en hilos de forma flexible, gestionando hilos en segundo plano o pools de hilos.

¿Qué hace el método start() en la clase Thread?. Espera a que todos los recursos estén disponibles antes de iniciar el hilo. Inicia el hilo como un subproceso independiente y ejecuta el método run(). Ejecuta el método run() en el hilo principal. Permite que el hilo se ejecute siempre en primer lugar.

¿Por qué es importante considerar llamadas a yield(), sleep() o wait() en el código de un programa Java?. Porque todos los sistemas operativos usan time-slicing. Porque yield() garantiza que el hilo actual no será elegido de nuevo. Porque el comportamiento de la planificación puede variar según el sistema operativo, y estas llamadas ayudan a evitar que un hilo monopolice la CPU.

¿Por qué decimos que el orden de ejecución de los hilos en Java es no-determinístico?. Porque Java asigna prioridades de ejecución iguales a todos los hilos. Porque no se puede predecir el orden exacto en el que se ejecutarán los hilos. Porque se ejecutan en el mismo orden en que se llaman con start(). Porque todos los hilos se ejecutan secuencialmente.

¿Cuál es el uso de las variables atómicas en java.util.concurrent.atomic?. Crear bloqueos avanzados con control detallado. Optimizar la inserción y extracción en colecciones multihilo. Implementar políticas de ejecución personalizada en hilos. Permitir la manipulación segura de variables compartidas sin necesidad de sincronización explícita.

¿Qué ventaja ofrece la interfaz Runnable sobre la clase Thread?. Proporciona métodos para controlar la ejecución de hilos. Facilita la gestión de grupos de hilos en conjunto. Permite añadir la funcionalidad de hilos sin necesidad de heredar de la clase Thread. Permite gestionar errores en los hilos.

Denunciar Test