Tecnología

Inicio

Limitaciones de hilo en Java

Limitaciones de hilo en Java


Un programa Java que sólo puede hacer una cosa a la vez tiene limitaciones significativas en la complejidad de las tareas que el programador puede ordenarle que haga. Para permitir que los programas para llevar a cabo varias operaciones a la vez, los programadores de Java pueden crear nuevas instancias de los procesos por los hilos. A pesar de su utilidad y necesidad en aplicaciones complejas, los hilos no son sin limitaciones.

Trapos

Los programadores de Java crear secuencias de una clase que implementa la interfaz "Ejecutable". Los hilos actúan como programas dentro de los programas, ya que deben incluir el método "run ()", que se comporta como el "vacío () public static principal" en la clase de programa principal. El programador se inicia un hilo mediante la creación de una nueva instancia del objeto y, a continuación, llamando a su método "run". Una vez que las discusiones empiezan a correr, pueden acceder a las variables y llamar a métodos de otros objetos.

Las limitaciones de rendimiento

Cada hilo que crea un programa Java añade además una carga en el procesador del ordenador. Si un programa Java genera varios hilos intensivo del procesador, entonces la máquina en la que opera el programa puede ralentizar significativamente. Esto reduce el rendimiento del programa. Además de la optimización del rendimiento, cada procesador tiene un número máximo de subprocesos de programa para el cual se puede programar el tiempo de procesamiento. Este número varía de un sistema a otro, y está disponible en su documentación.

Los errores variables

Cuando un programa se compone de un solo hilo, el método "public void ()", la integridad de los datos de las variables del programa no es un problema. Cuando un programa tiene múltiples hilos de acceso y modificación de las mismas variables, una variable puede ser cambiado por un hilo diferente. El cambio se produce entre el momento en que el otro hilo accede valor de la variable y el tiempo que modifica esa variable. Cuando los hilos están desempeñando funciones en variables que dependen de valor inicial de la variable, esto puede conducir a la corrupción de datos.

Cabellos

Para evitar daños en los datos, la biblioteca estándar de Java incluye objetos llamados "bloquea". Cuando un hilo accede a una variable con la intención de modificarla, el hilo puede llamar a un método de bloqueo que evite que otros hilos de acceder a la variable hasta que el hilo de corriente se hará con él. Después de que el flujo libera el bloqueo, el siguiente hilo puede bloquear la variable. Si bien esto evita la corrupción de datos, se ralentiza el rendimiento de aplicaciones.