Anteriormente he compartido más de 100 preguntas básicas de entrevistas de Java basadas en varios temas básicos de Java. En este artículo, compartiré las preguntas de la entrevista basadas solo en multiproceso y competencia. Debe enfrentarse a preguntas multiproceso en casi cualquier entrevista, ya que este es uno de los temas más frecuentes durante las entrevistas para los profesionales de Java.

Si es nuevo en este tema, le recomiendo que consulte este tutorial (Java multithreading) antes de pasar por la serie de preguntas y respuestas de la entrevista a continuación.

Preguntas de la entrevista sobre subprocesos múltiples

P) ¿Qué es el hilo en Java?

A) Un hilo es una unidad de ejecución simultánea. O en otras palabras se puede decir que es parte del proceso que se puede realizar simultáneamente con otras partes del proceso.

P) ¿Qué es el multiproceso?

A) El proceso de ejecutar varios subprocesos simultáneamente se conoce como subprocesos múltiples. Java admite subprocesos múltiples. El principal beneficio del subproceso múltiple es la reducción del tiempo de inactividad de la CPU y la mejora de la utilización de la CPU. Esto hace que el trabajo se complete en menos tiempo.

P) ¿Cuál es la diferencia entre hilo y proceso?

A) Consulte este artículo: Subproceso frente a proceso

P) ¿Cuáles son las dos formas de crear un hilo?

A) Podemos crear un hilo usando uno de los dos métodos siguientes.
1) Implementación de la interfaz Runnable
2) Ampliación de la clase Thread

P) ¿Qué es un hilo de Daemon?

A) Consulte este artículo: hilo de Deamon en Java

leer  Preguntas y respuestas de la entrevista sobre las colecciones de Java

P) ¿Cómo crear un hilo (hilo de usuario) en un hilo de Daemon?

A) Al llamar al método setDaemon () podemos crear un hilo de usuario en el hilo del demonio.
Sintaxis:
thread.setDaemon (verdadero);

P) ¿Cuál es la diferencia entre el hilo del usuario y el hilo del demonio?

A) Por defecto, un hilo creado en un programa es siempre un hilo de usuario, sin embargo, podemos convertirlo en un demonio llamando al método setDaemon (true) si es necesario. Un subproceso de demonio se ejecuta en segundo plano y no evita que la JVM se detenga. Una vez que se ha completado todo el hilo del usuario, la JVM se detiene sin que le moleste si un hilo de demonio se está ejecutando o no.

P) ¿Podemos cambiar un hilo de usuario a un demonio de hilo llamando al método setDaemon () si el hilo ya ha comenzado?

No, si el hilo se inició, no podemos convertirlo en demonio porque arrojaría una IllegalThreadStateException

P) ¿Podemos llamar al método run () de la clase Thread?

A) Podemos llamar al método run () si queremos, pero entonces se comportaría como un método normal y no podríamos aprovechar el multihilo. En general, los métodos run () comienzan la ejecución cuando llamamos al método start () de una clase Thread. Para obtener más detalles sobre esto: consulte este artículo.

P) ¿Qué es el punto muerto?

A) Un interbloqueo es una condición cuando dos o más subprocesos están esperando que el otro libere los recursos que necesitan. Por ejemplo, el subproceso A contiene el recurso X y necesita el recurso Y mientras que el subproceso B contiene el recurso Y y necesita X, en este caso ambos subprocesos están esperando que el otro libere el recurso y están en condición de bloqueo.

leer  Preguntas y respuestas de la entrevista sobre las colecciones de Java

P) ¿Qué es la sincronización?

A) Es una técnica para garantizar el acceso a recursos compartidos en un entorno multiproceso para evitar inconsistencias en los resultados.

P) ¿Cuál es la diferencia entre notificar () y notificar a todos ()?

A) notificar () despierta el primer subproceso que llamó a wait () en el mismo objeto, mientras que el método notifyAll () despierta todos los subprocesos en espera.

P) ¿Qué hace el método join ()?

A) El método join () se usa para suspender la ejecución del hilo que se está ejecutando actualmente hasta que el hilo especificado esté muerto (ejecución completada).
Lea más sobre join () aquí.

P) ¿Podemos iniciar un hilo dos veces en Java?

No, una vez que se inicia un hilo, no se puede reiniciar. Esto arrojará una excepción ilegalThreadStateException. Por ejemplo: consulte este artículo.

Por avivcas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *