PCTR

0.0(0)
studied byStudied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/296

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 4:43 PM on 1/24/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

297 Terms

1
New cards

¿Es posible representar una RCC (Región Crítica Condicional) directamente mediante un lenguaje?

No, es imposible de representar directamente por lenguajes, se debe simular.

2
New cards

¿Qué caracteriza al "Orden Total" en concurrencia?

Es secuencial desde un punto a otro, independientemente de lo que haya en medio.

3
New cards

¿El mecanismo 'Fork' para la creación de hilos es estático o dinámico?

Es dinámico.

4
New cards

¿Existen interbloqueos (deadlocks) en sistemas que usan Memoria Transaccional o Clojure?

No, por diseño no existen los interbloqueos.

5
New cards

¿Es rentable usar Memoria Transaccional si hay muchas operaciones de escritura?

No, no es rentable debido al alto número de abortos y reintentos.

6
New cards

¿Cómo es el modelo de memoria en MPI (Message Passing Interface)?

Es todo distribuido, sin memoria común.

7
New cards

¿Qué garantiza la palabra clave 'volatile' en Java?

Garantiza visibilidad en lectura (los hilos ven el valor más reciente) pero no atomicidad en operaciones compuestas.

8
New cards

¿Qué comparte un hilo hijo con su hilo padre en Java?

El espacio de direcciones (Heap) y las variables estáticas, pero NO el contador de programa ni la pila.

9
New cards

¿Cuál es el rango de prioridades de las hebras en Java?

Es un valor numérico en el rango discreto de 1 a 10.

10
New cards

¿En qué orden se deben activar los componentes de RMI?

1º el rmiregistry (DNS), 2º el servidor, 3º el cliente.

11
New cards

¿Qué sucede si un hilo intenta adquirir un cerrojo ReentrantLock que ya posee?

El hilo no se bloquea, ya que el cerrojo es reentrante.

12
New cards

¿Qué técnica usa 'Collections.synchronizedList'?

Acceso seguro provisto a través del API de Java mediante sincronización interna.

13
New cards

¿Para qué sirve la ecuación de Subramanián?

Para determinar el número óptimo de hilos en función del número de núcleos y el factor de bloqueo (CPU vs I/O).

14
New cards

¿Qué es un sistema SISD en tiempo real?

Un sistema con un solo flujo de instrucciones y datos que garantiza respuestas en tiempos acotados.

15
New cards

¿Puede un sistema SISD en tiempo real ser paralelo?

No, no puede ser paralelo, pero sí concurrente.

16
New cards

¿Cuántos semáforos se necesitan como mínimo para el problema de los Filósofos Comensales?

Al menos 5 semáforos (uno por cada palillo).

17
New cards

¿Cuántas colas de condición hay en una solución de Filósofos con monitores?

5 colas de condición (una por cada filósofo para esperar a comer).

18
New cards

¿Cuántos semáforos requiere el problema de Productores y Consumidores?

3 semáforos: mutex (exclusión), lleno (control de datos) y vacío (control de espacio).

19
New cards

¿Cuántas colas de condición hay en Productores y Consumidores?

2 colas: una para productores y otra para consumidores.

20
New cards

¿Qué diferencia un Monitor SC (Signal and Continue) de un SU (Signal and Urgent)?

En SC el señalizador sigue en el monitor

21
New cards

¿Qué es el "entrelazado de instrucciones" (interleaving)?

La ejecución alternada de instrucciones de diferentes hilos en un solo procesador.

22
New cards

¿Qué es una sección crítica?

Es el fragmento de código que accede a un recurso compartido y debe ejecutarse en exclusión mutua.

23
New cards

¿Qué condición de Bernstein impide la ejecución paralela por dependencia de flujo?

Cuando el conjunto de escritura de S1 interseca con el conjunto de lectura de S2.

24
New cards

¿Qué es el Livelock?

Situación donde los hilos cambian su estado continuamente en respuesta a otros pero ninguno progresa.

25
New cards

¿Qué método de la clase Thread se usa para esperar a que otra hebra termine?

El método join().

26
New cards

¿Qué ocurre al llamar a wait() dentro de un bloque synchronized?

El hilo libera el cerrojo del objeto y pasa a estado de espera (blocked).

27
New cards

¿Qué diferencia hay entre notify() y notifyAll()?

notify() despierta a un hilo al azar

28
New cards

¿Qué es la exclusión mutua?

Propiedad que asegura que solo un proceso a la vez acceda a un recurso compartido.

29
New cards

¿Qué es la vivacidad (liveness)?

Garantía de que algo bueno acabará sucediendo (el programa no se queda bloqueado para siempre).

30
New cards

¿Qué es la seguridad (safety)?

Garantía de que nunca sucederá nada malo (ej. dos hilos en la misma sección crítica).

31
New cards

¿Qué hace el método 'execute()' en un Thread Pool?

Encola una tarea tipo Runnable para su ejecución.

32
New cards

¿Qué devuelve el método 'submit()' de un ExecutorService?

Un objeto Future que representa el resultado pendiente de la tarea.

33
New cards

¿Para qué sirve 'future.get()()?

Para obtener el resultado de una tarea

34
New cards

¿Qué es un 'CountDownLatch'?

Un sincronizador que permite a uno o más hilos esperar hasta que se completen una serie de operaciones.

35
New cards

¿Qué es el Proyecto Loom?

Iniciativa para introducir hilos virtuales (hilos ligeros) en la plataforma Java.

36
New cards

¿Qué son las "Continuaciones Delimitadas" en Loom?

El mecanismo interno que permite pausar y reanudar el estado de ejecución de un hilo virtual.

37
New cards

¿Qué ventaja principal tienen los Virtual Threads?

Permiten manejar millones de hilos con muy poca sobrecarga de memoria y CPU.

38
New cards

¿Qué es un semáforo binario?

Un semáforo que solo puede tomar los valores 0 y 1 (similar a un mutex).

39
New cards

¿Qué operación de semáforo incrementa su valor?

La operación V (o signal/release).

40
New cards

¿Qué operación de semáforo decrementa su valor o bloquea si es 0?

La operación P (o wait/acquire).

41
New cards

¿Qué es la "inversión de prioridad"?

Cuando un hilo de baja prioridad bloquea a uno de alta prioridad.

42
New cards

¿Qué es un monitor en programación?

Un objeto que encapsula datos y métodos, garantizando que solo un hilo ejecute sus métodos sincronizados a la vez.

43
New cards

¿Cuántas colas tiene un monitor SU estándar?

3 colas: entrada, urgente (señalizadores) y de condición.

44
New cards

¿Java implementa monitores tipo SC o SU?

Java implementa monitores tipo SC (Signal and Continue).

45
New cards

¿Qué palabra clave se usa en Java para definir un monitor implícito?

synchronized.

46
New cards

¿Qué es RMI (Remote Method Invocation)?

Mecanismo que permite a un objeto Java invocar métodos de un objeto que vive en otra JVM.

47
New cards

¿Qué es el 'Stub' en RMI?

El objeto en el lado del cliente que actúa como representante del objeto remoto.

48
New cards

¿Qué es el 'Skeleton'?

El componente en el lado del servidor que recibe las peticiones del Stub y las pasa al objeto real.

49
New cards

¿Qué es un sistema de Tiempo Real Crítico (Hard Real-Time)?

Aquel donde el incumplimiento de un plazo de tiempo puede causar fallos catastróficos.

50
New cards

¿Qué es el 'Jitter'?

La variación en el tiempo de respuesta o ejecución entre diferentes instancias de una tarea.

51
New cards

¿Qué es la atomicidad?

Propiedad de una operación que se ejecuta por completo o no se ejecuta en absoluto, sin estados intermedios visibles.

52
New cards

¿Qué hace el método 'yield()' de Thread?

Sugiere al planificador que el hilo actual está dispuesto a ceder el procesador.

53
New cards

¿Qué es un Pool de hilos 'CachedThreadPool'?

Un pool que crea hilos nuevos según sea necesario y reutiliza los libres, eliminando los inactivos por 60s.

54
New cards

¿Qué es la 'Condición de Carrera' (Race Condition)?

Situación donde el resultado depende del orden impredecible de ejecución de los hilos.

55
New cards

¿Qué es una variable atómica (AtomicInteger, etc.)?

Variables que usan instrucciones CPU (como CAS) para asegurar actualizaciones atómicas sin bloqueos.

56
New cards

¿Qué significa 'CAS' en concurrencia?

Compare-And-Swap (Comparar y Intercambiar), una primitiva básica de algoritmos lock-free.

57
New cards

¿Qué es la "Barrera de Memoria"?

Instrucción que obliga a la CPU a completar operaciones de memoria pendientes para asegurar visibilidad.

58
New cards

¿Qué es el algoritmo de Peterson?

Algoritmo clásico para exclusión mutua de dos procesos usando variables compartidas.

59
New cards

¿Cuál es la principal debilidad de la Región Crítica Condicional teórica?

La ineficiencia de evaluar la condición continuamente (re-evaluación).

60
New cards

¿Qué diferencia hay entre Callable y Runnable?

Callable puede devolver un resultado y lanzar excepciones

61
New cards

¿Qué hace 'shutdownNow()' en un Executor?

Intenta detener todas las tareas activas y devuelve una lista de las tareas pendientes de ejecutar.

62
New cards

¿Qué es un hilo 'Daemon'?

Un hilo de soporte que no impide que la JVM termine si solo quedan hilos de este tipo.

63
New cards

¿Cómo se define el factor de bloqueo (Cb)?

Tiempo de espera (I/O) dividido por el tiempo de CPU.

64
New cards

¿Qué es la concurrencia?

Capacidad de gestionar múltiples tareas que pueden solaparse en el tiempo.

65
New cards

¿Qué es el paralelismo?

Ejecución simultánea de múltiples tareas en diferentes núcleos o procesadores.

66
New cards

¿Qué es un 'Deadlock' (Interbloqueo)?

Estado donde dos o más hilos están bloqueados permanentemente esperando por recursos que el otro posee.

67
New cards

¿Qué es un 'CyclicBarrier'?

Sincronizador que permite que un conjunto de hilos esperen unos a otros en un punto común antes de continuar.

68
New cards

¿Qué técnica usa Java para evitar la re-lectura de variables en registros?

El uso de 'volatile' o bloques 'synchronized'.

69
New cards

¿Qué es una 'Sección Crítica Condicional'?

Una sección crítica que solo se ejecuta si se cumple una condición lógica específica.

70
New cards

¿Qué es el 'Deadlock Ignorance' (Algoritmo del Avestruz)?

Estrategia de ignorar el problema del interbloqueo si es muy poco frecuente.

71
New cards

¿Qué es un Monitor en C++ (std::condition_variable)?

Un mecanismo que requiere un mutex explícito para gestionar la exclusión mutua y la espera.

72
New cards

¿Qué es el 'Busy Waiting' (Espera Activa)?

Técnica donde un hilo comprueba repetidamente una condición, consumiendo CPU inútilmente.

73
New cards

¿Qué ventaja ofrece ReentrantLock sobre synchronized?

Permite intentos de adquisición con timeout, cerrojos justos y múltiples condiciones.

74
New cards

¿Qué es la 'Starvation' (Inanición)?

Cuando un hilo nunca recibe los recursos necesarios para progresar porque otros se los quitan.

75
New cards

¿Qué es un 'Semaphore(n, true)' en Java?

Un semáforo con política de equidad (fairness), los hilos adquieren en orden FIFO.

76
New cards

¿Qué es la Memoria Transaccional Software (STM)?

Enfoque donde las secciones críticas se tratan como transacciones de base de datos (atómicas, aisladas).

77
New cards

¿Qué es un 'Monitor Híbrido'?

Aquel que combina características de diferentes modelos (como los de C++ o Java con extensiones).

78
New cards

¿Para qué se usa el método 'interrupt()'?

Para avisar a un hilo que debe detenerse o cambiar su estado actual.

79
New cards

¿Qué excepción lanza wait() cuando un hilo es interrumpido?

InterruptedException.

80
New cards

¿Qué es un 'ReadWriteLock'?

Cerrojo que permite múltiples lectores simultáneos pero solo un escritor exclusivo.

81
New cards

¿Qué es el 'RMI Registry'?

Un servicio de nombres donde los servidores registran sus objetos remotos para que los clientes los encuentren.

82
New cards

¿Qué significa que un sistema sea Determinista?

Que para las mismas entradas siempre produce el mismo resultado, sin importar el orden de ejecución.

83
New cards

¿Qué es el 'Thread-Local Storage'?

Variables que son locales a cada hilo, evitando conflictos de acceso.

84
New cards

¿Qué es la 'Escalabilidad' en concurrencia?

La capacidad de un sistema para mejorar su rendimiento al añadir más recursos (CPUs).

85
New cards

¿Qué es un sistema SISD?

Single Instruction, Single Data (Un solo procesador, un solo flujo de datos).

86
New cards

¿Qué es un sistema MIMD?

Multiple Instruction, Multiple Data (Varios procesadores ejecutando diferentes instrucciones sobre diferentes datos).

87
New cards

¿En qué se basa el éxito de los hilos virtuales de Loom?

En que el bloqueo de un hilo virtual no bloquea el hilo nativo de la OS (Carrier thread).

88
New cards

¿Qué es 'Naming.rebind()' en RMI?

Método para registrar o actualizar la asociación de un nombre con un objeto remoto.

89
New cards

¿Qué es el 'AtomicReference'?

Clase que permite actualizar de forma atómica una referencia a un objeto.

90
New cards

¿Qué es el 'Fork/Join Framework'?

Framework diseñado para tareas que se pueden dividir en sub-tareas más pequeñas de forma recursiva.

91
New cards

¿Qué es la coherencia de caché?

Mecanismo que asegura que los cambios en la memoria por una CPU sean visibles para las demás.

92
New cards

¿Qué ocurre si no llamas a 'shutdown()' en un ExecutorService?

El programa puede no terminar nunca porque los hilos del pool siguen vivos.

93
New cards

¿Qué es el 'Double-Checked Locking'?

Antipatrón (o patrón corregido con volatile) para inicializar objetos de forma perezosa y segura.

94
New cards

¿Qué es un 'CopyOnWriteArrayList'?

Lista segura para hilos donde cada modificación crea una copia nueva del array subyacente.

95
New cards

¿Qué es la 'Prioridad Heredada'?

Protocolo para evitar la inversión de prioridad donde el hilo de baja prioridad "hereda" la prioridad del alto.

96
New cards

¿Qué es 'std::mutex' en C++?

La primitiva básica de exclusión mutua en la librería estándar de C++.

97
New cards

¿Cuál es el propósito de 'Thread.sleep()'?

Pausar la ejecución del hilo actual por un tiempo determinado, sin liberar cerrojos.

98
New cards

¿Qué es un 'BlockingQueue'?

Una cola que bloquea al hilo que intenta insertar si está llena o al que intenta extraer si está vacía.

99
New cards

¿Qué es el 'Context Switch'?

El proceso de guardar el estado de un hilo/proceso y cargar el de otro para su ejecución.

100
New cards

¿Qué es la programación asíncrona?

Modelo donde el hilo no espera a que termine una tarea, sino que recibe un aviso cuando está lista.

Explore top flashcards

YCJA study guide
Updated 242d ago
flashcards Flashcards (36)
Pulmonology E1: ABGs
Updated 429d ago
flashcards Flashcards (42)
4080 Midterm
Updated 1062d ago
flashcards Flashcards (62)
Health Science
Updated 1085d ago
flashcards Flashcards (48)
Spanish 3 Unit 2-2
Updated 1071d ago
flashcards Flashcards (74)
Unit 5: Hereditary
Updated 1040d ago
flashcards Flashcards (62)
YCJA study guide
Updated 242d ago
flashcards Flashcards (36)
Pulmonology E1: ABGs
Updated 429d ago
flashcards Flashcards (42)
4080 Midterm
Updated 1062d ago
flashcards Flashcards (62)
Health Science
Updated 1085d ago
flashcards Flashcards (48)
Spanish 3 Unit 2-2
Updated 1071d ago
flashcards Flashcards (74)
Unit 5: Hereditary
Updated 1040d ago
flashcards Flashcards (62)