PSPT2
|
|
Título del Test:
![]() PSPT2 Descripción: Programación de Servicios y Procesos Tema 2 DAM |



| Comentarios |
|---|
NO HAY REGISTROS |
|
En un sistema de tiempo compartido, ¿cómo se divide el uso de la CPU?. El uso de la CPU se divide en fracciones de tiempo. No se pueden intercalar los hilos en ejecución. Ninguna de las otras respuestas es correcta. La ejecución de los hilos se realiza de manera secuencial. ¿Cómo se llama al código seguro que puede ejecutarse en varios hilos simultáneamente de forma segura?. Hilos Seguros (Thread Safe). Código seguro. Zona Segura. Security code. ¿Cuáles de los siguientes elementos no son compartidos entre hilos ya que tienen su propio espacio de memoria?. Los atributos de los objetos. Los miembros de los objetos. Los objetos locales. Las variables locales. ¿Cuál de las siguientes afirmaciones sobre hilos es correcta?. Los hilos comparten memoria entre sí. Los hilos no comparten recursos. Ninguna afirmación es correcta. Los hilos solo comparten recursos de E/S. ¿Qué estamos seguros que no se va a compartir entre varios hilos?. Ninguna de las otras respuestas es correcta. Todo aquello que se almacena fuera de la pila de los hilos. Todo aquello que se almacena en la pila de cada hilo. Los objetos locales. ¿A partir de qué versión de Java se incluyeron mecanismos para tratar la eficiencia de hilos a un alto nivel con el paquete `java.util.concurrent`?. Java 2. Java 6. Java 5. Java 4. ¿Cuándo finaliza un hilo?. Cuando termina el método start(). Cuando ponemos la propiedad bStop a true. Cuando termina la ejecución de su método de ejecución principal. Cuando llamamos al método ThreadStop. Un `ThreadGroup` permite: Gestionar grupos de hebras. Gestionar grupo de hebras y hebras. Gestionar hebras solamente. Ninguna de las otras respuestas es correcta. ¿Cuál de los siguientes métodos detendría la ejecución de un hilo?. killThread. stopThread. endThread. No existe ningún método que detenga un hilo. La ejecución de un hilo termina cuando se ejecuta por completo su método principal. ¿Dónde se almacenan los objetos locales en el contexto de hilos?. En el head compartido. En una zona especial de memoria propia para los objetos. En la pila del proceso. En la pila de cada hilo. Usar miembros de objetos en entornos multihilo: Es siempre totalmente seguro. Depende de si el objeto es público será peligroso o no. Es peligroso si dos hilos acceden a la misma instancia. Es siempre peligroso. Para crear un hilo en Java, usualmente se hereda de la clase `Thread` y se sobreescribe el método: run(). Run(). Start(). start(). Un error de consistencia en memoria se produce cuando: Tienen distinta prioridad. Varios hilos tienen diferentes puntos de vista de lo que debería hacer con los mismos datos. Uno entra primero a cualquier método. Usamos variables estáticas. El ciclo de vida de un hilo en Java incluye los siguientes estados principales: New, runnable waiting, start, terminated. New, running, ending. New, runnable, waiting, block, terminated. New, runnable, waiting, timed waiting, terminated. El acceso atómico es: Una acción muy rápida. Una acción multihilo. Una acción que se puede dividir. Una acción que no se puede dividir. ¿Cuáles de los siguientes son estados posibles de un hilo?. Todos son estados de un hilo. Ejecutando. Bloqueado. Listo. Una operación atómica es aquella que: Aquella que no se puede dividir, se realiza entera o no se realiza. Ninguna de las otras respuestas es correcta. Está escrita en una sola línea de código. Se ejecuta en un ciclo de CPU. Cuando se lanza la acción de DESBLOQUEO (notify/notifyAll) sobre un hilo que estaba esperando (waiting/timed_waiting), ¿a qué estado pasa este hilo?. Listo. Finalizado. Creado. Desbloqueado. ¿Qué se puede decir sobre la JVM y la planificación de hilos?. Posee algoritmo de planificación para la ejecución de hilos. No posee un algoritmo de planificación para la ejecución de hilos. Ninguna de las otras respuestas es correcta. Utiliza los algoritmos de planificación del sistema operativo para planificar a sus hilos. Indica cuál de las siguientes afirmaciones sobre hilos es cierta: Los hilos, al igual que los procesos, tienen estados de ejecución y se pueden sincronizar entre ellos. Los hilos no pueden tener estados. Ninguna de las otras respuestas es correcta. Los hilos solo tienen dos estados. Las variables locales, en el contexto de concurrencia: A veces son compartidas por hilos. Nunca son compartidas por hilos. Siempre son compartidas por hilos. Si son públicas son compartidas por hilos. ¿Qué es un valor inmutable?. Un valor que varía a lo largo de la ejecución del programa. Un valor que no sale nunca de su ámbito de ejecución. Un valor que no varía a lo largo de la ejecución, ya que no lo modificamos. Un valor que no puede ser modificado. Las variables locales de un método son almacenadas en: Una pila común para el proceso. Ninguna de las otras respuestas es correcta. En el heap. Una pila propia del hilo. La situación en la que varios hilos compiten por un mismo recurso, donde la secuencia con la que se accede al recurso es significativa, se denomina: Ninguna de las otras respuestas es correcta. Inmutabilidad. Condición de carrera. Interferencia entre hilos. ¿Para qué usamos la sincronización entre hilos?. Para hacer que comiencen a la vez. Ninguna respuesta es válida. Para hacer que finalicen a la vez. Para evitar que al acceder estos hilos a recursos compartidos se entorpezcan entre ellos. Un método declarado `synchronized`: Crea una zona de código inmutable. No realiza nada de lo expuesto en las otras respuestas. Soluciona los errores que pueden producir las interferencias entre hilos y los de consistencia de memoria. Ninguna de las otras respuestas es correcta. ¿Qué mecanismo es más eficiente para la sincronización?. La declaración `volatile`. Tienen el mismo grado de eficiencia las declaraciones `volatile` y los métodos sincronizados. Ninguna de las otras respuestas es correcta. Los métodos sincronizados. El funcionamiento de los métodos `synchronized`: Está implementado con variables globales. Está implementado con variables de tipo int. Está implementado con variables locales. Está implementado con monitores. Los métodos `synchronized`: Pueden ocasionar interbloqueos. Son operaciones atómicas. Ninguna de las otras respuestas es correcta. Pueden ocasionar condiciones de carrera. La sincronización es construida por medio de: El uso de `synchronized`. Un monitor. El uso de `volatile`. Ninguna de las otras respuestas es correcta. ¿A qué nos referimos con el término Thread safe?. A que los hilos se pueden ejecutar simultáneamente de forma segura. A que los hilos no contienen errores de programación. A que los hilos implementan seguridad. A que los hilos contienen condiciones de carrera. Cuando un método se marca como `synchronized` y un hilo lo invoca: Marca el recurso (método) como ocupado. Marca el recurso (método) como libre, por lo que cualquier otro hilo puede usarlo. Hace que las variables se comporten como locales. Hace que se ejecute más rápido. ¿Qué método nos permitiría informar a un hilo en espera (`wait`) que puede continuar su ejecución?. notify(). return(). continue(). inform(). La prioridad por defecto para un hilo en Java es: 9. 5. 7. 0. Asignando a todos los hilos la máxima prioridad: No conseguimos nada, puesto que la prioridad es algo relativo. Irá todo más rápido. Hacemos que se produzcan errores multihilo. Irá todo más lento. Supongamos que lanzamos 3 hilos (h1, h2 y h3) y a los 3 les asignamos la misma prioridad. ¿En qué orden finalizarán?. Ninguna de las otras respuestas es correcta. No estamos seguros ya que depende de las asignaciones que vaya haciendo el Sistema Operativo. h1, h2 y h3. h3, h2 y h1. El orden de prioridad para los hilos en Java es: Ascendente, donde 10 es el valor máximo de prioridad. Descendente, donde 1 es el valor máximo de prioridad. Ascendente, donde 9 es el valor máximo de prioridad. Ninguna de las otras respuestas es correcta. ¿Qué prioridad por defecto tiene un hilo en Java?. DEFAULT_PRIORITY. MAX_PRIORITY. MIN_PRIORITY. NORM_PRIORITY. ¿De dónde pueden venir las operaciones de un objeto en un contexto multihilo?. Operaciones de una sola llamada, donde un solo método es llamado. Del sistema operativo. De métodos del propio objeto. Ninguna de las otras respuestas es correcta. Si un hilo puede obtener bloqueo ante ciertas operaciones, ¿qué información es crucial anotar en la documentación?. Datos sobre el hilo que bloquea. Todas las respuestas son correctas. Qué bloqueo es necesario para estas operaciones. Datos sobre los hilos que serán bloqueados. Si un hilo puede obtener bloqueo ante ciertas operaciones, ¿qué información es crucial anotar en la documentación?. Cuándo estos objetos requieren sincronización externa. Datos sobre los hilos que serán bloqueados. Datos sobre el hilo que bloquea. Todas las respuestas son correctas. En los procesos multihilo, la documentación: Debe indicar las variables globales. No es tan importante. Debe indicar las variables locales. Debe indicar cuando se necesita un bloqueo antes de realizar una operación. ¿De dónde pueden venir las operaciones de un objeto en un contexto multihilo?. Del sistema operativo. Ninguna de las otras respuestas es correcta. Operaciones de múltiples llamadas, donde más de un método es llamado, y son tratadas como una sola unidad. De métodos del propio objeto. ¿Cómo podemos hacer inmutable una propiedad en una clase?. Hacemos que sea pública y no construimos la función get asociada a ella. Hacemos que sea pública y no construimos la función set asociada a ella. Hacemos que sea privada y no construimos la función set asociada a ella. Hacemos que sea privada y no construimos la función get asociada a ella. ¿Dónde se guardan los miembros de un objeto?. Se almacenan en la memoria caché de la CPU. Se almacenan en ficheros de disco. Se almacenan en el stack o pila del hilo. En el heap junto al objeto. ¿Por qué el uso de objetos locales no es seguro en algunos contextos?. Sí es seguro ya que se almacenan en el stack o pila del hilo. Porque se almacenan en el heap compartido. Sí es seguro ya que son locales. Porque los objetos no son seguros al ocupar mucha memoria. Para hacer un hilo seguro (thread-safe), los métodos que acceden a recursos compartidos deben ser declarados como: synchronized. synchronizing. Ninguna respuesta es correcta. ThreadSafe. ¿Cuándo ocurren las condiciones de carrera?. Cuando múltiples hilos están accediendo al mismo recurso y al menos uno intenta escribir en él. Cuando varios hilos compiten por un recurso. Si manipulamos la prioridad de los hilos ya lanzados. Cuando un hilo queremos forzar que acabe antes que otro. Para asignar la prioridad a un hilo, ¿qué valores podemos usar?. MIN_PRIORITY. NORM_PRIORITY. Todos estos valores son correctos. MAX_PRIORITY. Además de heredar de la clase `Thread`, ¿cómo podemos crear un hilo en Java?. Con la clase Process. Solo es posible con la clase Thread. Ninguna respuesta es correcta. Con la interfaz `Runnable`. ¿Qué clase usamos principalmente en Java para trabajar con hilos?. No se necesita ninguna clase para trabajar con hilos. Ninguna afirmación es correcta. La clase Process. La clase `Thread`. ¿Qué métodos podemos encontrar dentro de la clase `Thread`?. Executor(). Callable(). Future(). Ninguno es de la clase `Thread`. ¿Qué métodos podemos encontrar dentro de la clase `Thread`?. run(). Todos son de la clase `Thread`. currentThread(). getId(). Podemos construir la sincronización alrededor de una entidad interna conocida como: display. monitor. screen. Ninguna respuesta es correcta. ¿Cómo se llama el tipo de métodos que utilizamos para prevenir el acceso simultáneo a recursos compartidos por hilos?. Métodos excluded. Métodos static. Métodos dynamic. Métodos `synchronized`. ¿Qué conseguimos con los métodos `synchronized`?. Cuando dos operaciones corran en diferentes hilos. Que los métodos acaben en distinto momento. Que un hilo finalice ya que tiene que esperar a los demás. Que dos métodos no accedan de forma simultánea a un recurso. ¿Cuándo se producen los errores de inconsistencia en memoria al trabajar con hilos?. Cuando dos operaciones corren en diferentes hilos, pero actúan sobre los mismos datos. Cuando tenemos métodos dynamic. Cuando dos hilos modifican el mismo dato en memoria machacando el segundo los cambios del primero. Cuando dos operaciones corren en diferentes hilos, pero actúan sobre datos distintos. ¿Cuándo ocurre la interferencia entre hilos?. Cuando dos operaciones corren en diferentes hilos, pero actúan sobre datos distintos. Cuando tenemos métodos dynamic. Cuando dos operaciones corren en diferentes hilos, pero actúan sobre los mismos datos. Cuanto tenemos métodos excluded. |




