option
Cuestiones
ayuda
daypo
buscar.php

TestConcurrentes

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

Descripción:
TestConcurrentes

Fecha de Creación: 2019/04/11

Categoría: Informática

Número Preguntas: 36

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

ELEMENTOS PROGRAMADOS: Cuando se quiere obtener un elemento de una lista DelayedQueue: El hilo nunca se bloqueará aunque no haya un elemento disponible. El hilo se bloqueara siempre hasta que haya un elemento disponible. Solo se bloqueara en la primera llamada para obtener un elemento. Ninguna de las respuestas es correcta.

ELEMENTOS PROGRAMADOS: Los métodos de una lista DelayedQueue: Obtener el primer elemento sin bloqueo. Obtener el primer elemento y eliminarlo de la lista. Obtener el primer elemento con bloqueo. Obtener el primer elemento esperando por un tiempo.

ELEMENTOS PROGRAMADOS: Cuando queremos añadir un objeto a una lista DelayedQueue: La clase del objeto debe implementar la interface Comparable. La clase del objeto debe implementar la interface Callable. Cualquier objeto podrá añadirse a la lista. Ninguna de las respuestas es correcta.

ESTRUCTURAS SEGURAS: Las estructuras de datos en Java con bloqueo son: ConcurrentLinkedDeque, LinkedBlockingDeque y DelayQueue. ConcurrentLinkedDeque, LinkedBlockingDeque, PriorityBlockingQueue y DelayQueue. LinkedBlockingDeque, PriorityBlockingQueue, y DelayQueue. ConcurrentLinkedDeque y DelayQueue.

ESTRUCTURAS SEGURAS: Las estructuras de datos sin bloqueo son: ConcurrentLinkedDeque, LinkedBlockingDeque, PriorityBlockingQueue y DelayQueue. ConcurrentLinkedDeque. ConcurrentLinkedDeque, LinkedBlockingDeque y DelayQueue. ConcurrentLinkedDeque, LinkedBlockingDeque y DelayQueue.

ESTRUCTURAS SEGURAS: Las estructuras seguras pueden utilizar métodos: Inconsistentes. Con bloqueo y sin bloqueo. Con bloqueo. Sin bloqueo.

ESTRUCTURAS SEGURAS: Una estructura de datos segura…. Todas las afirmaciones son VERDADERAS. Garantizan un acceso en exclusión mutua. Garantizan la consistencia de la estructura. Convierte a la estructura en una sección crítica.

CONCURRENTLINKEDDEQUE: Con la clase ConcurrentLinkedDeque, si la lista esta vacía, los siguientes métodos lanzan una excepción NoSuchElementException: Remove(), getFirst() y getLast(). Peek(), peekFirst() y peekLast(). removeFirst(), getFirst() y peekFirst(). removeLast(), getLast() y peekLast().

CONCURRENTLINKEDDEQUE: Con la clase ConcurrentLinkedDeque, si la lista esta vacía, los siguientes métodos devuelven el valor null: Remove(), getFirst() y getLast(). removeFirst(), getFirst() y peekFirst(). removeLast(), getLast() y peekLast(). Peek(), peekFirst() y peekLast().

CONCURRENTLINKEDDEQUE: Con la clase ConcurrentLinkedDeque: Si la operación no se puede realizar, el hilo se bloquea hasta que se pueda completar. Si la operación no se puede realizar, el hilo cambia de prioridad. Si la operación no se puede realizar, el hilo no se bloquea, se devuelve null o se lanza una excepción. Si la operación no se puede realizar, el hilo se retarda.

CONCURRENTLINKEDDEQUE: El método getLast() de ConcurrentLinkedDeque: Devuelve el último elemento de la lista y lo elimina. Devuelve el último elemento de la lista. Todas las afirmaciones son FALSAS. Elimina el último elemento de la lista.

LISTAS CON PRIORIDAD: Cuando una clase implementa la interface Comparable tiene que sobreescribir el método. El método compareTo(). El método isEqual(). No tiene que sobreescribir ningún método. Ninguna de las respuestas es correcta.

LISTAS CON PRIORIDAD: Los objetos que se añadan a una lista PriorityBlockingQueue tienen que: Implementar la interface Serializable. Implementar la interface Runnable. Implementar la interface Comparable. Cualquier objeto se puede añadir a la lista.

LINKEDBLOCKINGDEQUE: Con la clase LinkedBlockingDeque, si la lista esta vacía, los siguientes métodos lanzan una excepción NoSuchElementException: Peek(), peekFirst() y peekLast(). Todos los elementos de LinkedBlockingDeque son bloqueantes y no lanzan excepciones. TakeFirst() y takeLast(). getFirst() y getLast().

LINKEDBLOCKINGDEQUE: Con la clase LinkedBlockingDeque, si la lista esta llena, los siguientes métodos lanzan una excepción IllegalStateException: TakeFirst() y takeLast(). Todos los elementos de LinkedBlockingDeque son bloqueantes y no lanzan excepciones. Add(), addFirst() y addLast(). getFirst() y getLast().

LINKEDBLOCKINGDEQUE: Con la clase LinkedBlockingDeque: Si la operación no se puede realizar, el hilo cambia de prioridad. Si la operación no se puede realizar, el hilo no se bloquea, se devuelve null o se lanza una excepción. Si la operación no se puede realizar, el hilo se retarda. Si la operación no se puede realizar, el hilo se bloquea hasta que se pueda completar.

VARIABLES ATÓMICAS: Suponiendo que el código anterior es ejecutado por 3 hilos: El resultado es [3,4,5,6]. No se puede saber, depende de cómo se entremezcle el código de los 3 hilos. El resultado es [1,2,3,4]. El resultado es [2,3,4,5].

VARIABLES ATÓMICAS: Si utilizamos una variable atómica, de Java 5 o posterior, y actualizamos su valor. Java nos garantiza el acceso en exclusión mutua de la variable. No se puede garantizar que el valor de la variable sea consistente. Java no tiene variables atómicas. Ninguna de las respuestas es correcta.

VARIABLES ATÓMICAS: En el ejemplo 4 del guion, el número de tareas que se crean en el método main(.) es: 201. 101. 200. 100.

VARIABLES ATOMICAS: En el ejemplo 3 del guion, las tareas Account y Company: Acceden en exclusión mutua al objeto de tipo Bank. No acceden de forma seguro al objeto de tipo Bank. Ninguna de las respuestas es correcta. El estado final de la cuenta no siempre será el mismo, dependerá de la ejecución que se realice.

VARIABLES ATÓMICAS: La ejecución del código anterior: No se puede saber, depende de como se entremezcle el código de ambas tareas. Imprime un valor entre 5,6,7,8. Imprime un valor igual a 8. Imprime un valor igual a 4.

VARIABLES ATÓMICAS: Cuando trabajamos en Java con variables atómicas estas pueden ser: Variables de tipo double. Variables de tipo object. Variables de tipo string. Variables de tipo boolean.

ARRAY ATÓMICO: Java nos proporciona array atómicos para: Ninguna de las respuestas es correcta. El tipo double. El tipo boolean. El tipo long.

ALEATORIOS: La clase ThreadLocalRandom nos genera números aleatorios: De tipo int. De tipo long. Todas las respuestas son correctas. De tipo double.

ALEATORIOS: En el ejemplo 2 del guion de practicas, el total de número aleatorios generados es de: 20. 15. 30. 10.

THREADLOCALRANDOM: La clase ThreadLocalRandom: Permite generar el mismo número aleatorio para todas las tareas. Permite un generador de números aleatorios diferente por hilo. Permite un generador de números aleatorios diferente por tarea. Permite generar el mismo numero aleatorio para todos los hilos.

THREADLOCALRANDOM: En un entorno concurrente para generar numero aleatorios: Es indistinto utilizar ThreadLocalRandom o clase Random. Es un hilo no se puede generar un numero aleatorio. Es mejor utilizar ThreadLocalRandom. Es mejor utilizar la clase Random.

THREADLOCALRANDOM: Si ejecutamos el código anterior: En cada ejecución la “tarea 1” y la “tarea 2” generan un numero aleatorio entre 1 y 10. La “tarea 1” escribe del 1 al 5 y la “tarea 2” del 6 al 10. En cada ejecución “tarea 1” y la “tarea 2” generan el mismo número aleatorio. Si la “tarea 1” genera un número, por ejemplo 5, la “tarea 2” genera cualquier numero entre 1 y 10 que no sea 5.

CONCURRENTSKIPLISTMAP subMAP: Dado el código anterior podemos afirmar que: “El headMap apuntará a un ConcurrentNavigableMap que: Solo contiene la llave “1”, ya que solo esta llave es estrictamente menor que “2”. Solo contiene la llave “2”, porque es mayor igual que la llave “2” y menor que la llave “3”. Contiene la llave “1” y la llave “2”. Contiene la llave “2” y la llave “3”.

CONCURRENTSKIPLISTMAP tailMAP: Dado el código anterior podemos afirmar que: “El headMap apuntará a un ConcurrentNavigableMap que: Contiene la llave “2” y la llave “3”. Solo contiene la llave “1”, ya que solo esta llave es estrictamente menor que “2”. Contiene la llave “1” y la llave “2”. Solo contiene la llave “2”, porque es mayor igual que la llave “2” y menor que la llave “3”.

CONCURRENTSKIPLISTMAP headMAP: Dado el código anterior podemos afirmar que: “El headMap apuntará a un ConcurrentNavigableMap que: Contiene la llave “2” y la llave “3”. Solo contiene la llave “1”, ya que solo esta llave es estrictamente menor que “2”. Contiene la llave “1” y la llave “2”. Solo contiene la llave “2”, porque es mayor igual que la llave “2” y menor que la llave “3”.

MAPAS NAVEGABLES: El primer ejemplo del guion de prácticas, la llave que utilizamos para insertar un valor es: El identificador de la tarea más el número de teléfono. Todas las respuestas son correctas. Un valor único para cada valor dentro del mapa. Una referencia a un objeto de la clase String.

MAPAS NAVEGABLES: El numero de contactos que se añadirán a la estructura del ejemplo 1 del guion de prácticas es: 25. 25000. 1000. Ninguna de las respuestas es correcta.

MAPAS NAVEGABLES: El numero de contactos que se añaden a la estructura del ejemplo 1 del guion de practicas es: 25. 25000. 1000. Ninguna de las respuestas es correcta.

MAPAS NAVEGABLES: De la clase ConcurrentListSkipMap solo: Podemos extraer un conjunto de elementos. Ninguna de las respuestas es correcta. Podemos extraer un único elemento. No se pueden extraer elementos.

COMPARE-AND-SWAP: La operación compare-and-swap…. Puede provocar el interbloqueo de los hilos. Sustituye siempre el antiguo valor con el valor de la variable temporal. Todas las afirmaciones son FALSAS. Primero cambia el valor de la variable en una variable temporal.

Denunciar Test