wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

THREAD EN JAVA

Total questions: 10

Worksheet time: 5mins

Name
Class
Date
1.

La diferencia principal entre un proceso y un hilo es que:

a)

A. Un proceso puede ejecutar varios hilos, mientras que un hilo es una unidad de ejecución dentro de un proceso.

b)

B. Un proceso siempre es más rápido que un hilo.

c)

C. Un hilo necesita menos memoria que un proceso, pero no puede compartir recursos.

d)

D. Un proceso no puede tener más de un hilo en ejecución.

2.

La ventaja principal de usar hilos frente a ejecutar todo en un único flujo de ejecución es:

a)

A. Evitar errores de compilación.

b)

B. Permitir que varias tareas se ejecuten de forma concurrente, mejorando el rendimiento.

c)

C. Eliminar la necesidad de usar ciclos y condicionales.

d)

D. Garantizar que nunca habrá conflictos en el uso de recursos compartidos.

3.

Al crear un hilo personalizado extendiendo la clase Thread, el método que normalmente se sobrescribe es:

a)

A. start()

b)

B. sleep()

c)

C. run()

d)

D. stop()

4.

Se recomienda implementar Runnable en lugar de extender Thread porque:

a)

A. Runnable ejecuta los hilos más rápido que Thread.

b)

B. Permite heredar de otra clase al mismo tiempo, ya que Java no soporta herencia múltiple.

c)

C. Runnable no necesita sobrescribir ningún método.

d)

D. Runnable evita el uso del método run().

5.

Si una clase ya extiende de otra clase y se necesita implementar hilos, la opción más adecuada es:

a)

A. Usar Runnable, porque se puede implementar sin problemas junto con la herencia.

b)

B. Forzar la herencia múltiple.

c)

C. Evitar el uso de hilos en esa clase.

d)

D. Llamar directamente al método start().

6.

¿Qué sucede si se llama dos veces al método start() sobre el mismo objeto Thread?

a)

A. Se ejecuta el método run() dos veces.

b)

B. El hilo se reinicia y comienza desde el inicio.

c)

C. Se lanza una excepción IllegalThreadStateException.

d)

D. El programa entra en un ciclo infinito.

7.

¿Por qué start() crea un nuevo hilo de ejecución mientras que run() no lo hace?

a)

A. Porque start() llama internamente al método run() en un hilo separado.

b)

B. Porque run() nunca puede contener código.

c)

C. Porque run() es un método estático.

d)

D. Porque start() detiene el proceso principal.

8.

Después de invocar el método start() en un objeto Thread, pero antes de ejecutar su método run(), el hilo se encuentra en el estado:

a)

A. NEW

b)

B. RUNNABLE

c)

C. WAITING

d)

D. TERMINATED

9.

¿Qué efecto tiene usar Thread.sleep(0) dentro de un programa multihilo?

a)

A. Suspende el hilo por un tiempo indefinido.

b)

B. Hace que el hilo libere el procesador inmediatamente, cediendo la ejecución a otros hilos.

c)

C. Finaliza el hilo actual.

d)

D. El hilo nunca entra en pausa, el código se detiene.

10.

¿Por qué Thread.sleep() es un método estático y no se llama sobre un objeto Thread?

a)

A. Porque siempre afecta a todos los hilos en ejecución.

b)

B. Porque controla al hilo que está ejecutándose en ese momento, no a un hilo específico.

c)

C. Porque los métodos estáticos nunca lanzan excepciones.

d)

D. Porque no es posible crear instancias de la clase Thread.