Un programa de 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 nuevos procesos creando una instancia de temas . A pesar de su utilidad y necesidad en aplicaciones complejas , las discusiones no están exentas de limitaciones. Hilos
programadores de Java crear hilos 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 , que se comporta como el " public static void main ()" en la clase principal del programa " run () " . El programador inicia un subproceso mediante la creación de una nueva instancia del objeto, y luego llamando a su método "run" . Una vez que las discusiones empiezan a correr , se puede acceder a las variables y llamar a los métodos de otros objetos.
Limitaciones de rendimiento
Cada hilo que crea un programa Java añade una carga además con el equipo de procesador . Si un programa Java genera varios hilos de procesamiento intensivo , el equipo en el que opera el programa puede disminuir significativamente . Esto reduce el rendimiento del programa . Además de la optimización del rendimiento , cada procesador tiene un número máximo de hilos del 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.
Errores variables
Cuando un programa se compone de un solo hilo , el " método public void main () estático " , la integridad de los datos de las variables del programa no es un problema . Cuando un programa tiene varios subprocesos el acceso y la 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 se modifica esa variable . Cuando las discusiones se están desempeñando funciones en las variables que dependen de valor inicial de la variable, esto puede conducir a la corrupción de datos .
Bloquea
Para evitar la corrupción de datos , la biblioteca estándar de Java incluye objetos llamados " bloqueos . " Cuando un hilo accede a una variable con la intención de modificarlo , 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 reduce el rendimiento de la aplicación.