La diferencia entre run () y start () en java

La función del método start () es iniciar un nuevo hilo. Run () es lo mismo que un método miembro ordinario y se puede llamar repetidamente.

Esta pregunta se hace a menudo, pero aún puede distinguir la comprensión del entrevistador del modelo de subprocesamiento de Java. El método start () se usa para iniciar el hilo recién creado, y el método run () se llama internamente en start (), que no es lo mismo que llamar directamente al método run (). Cuando llamas al método run (), solo se llamará en el hilo original. Si no se inicia un hilo nuevo, el método start () iniciará el hilo nuevo.

método de inicio:

Cuando se inicia un hilo con este método, también se crea un hilo, realizando múltiples subprocesos. Sin esperar a que el código del método run () termine de ejecutarse, puede continuar ejecutando el siguiente código. En este punto, el hilo de start () está en estado listo y el método run () se ejecutará cuando se obtenga el intervalo de tiempo de la CPU. El método run () contiene el contenido del hilo que se ejecutará. Cuando el método run () termina, el hilo se termina.

método de ejecución:

Iniciar un hilo a través del método de ejecución es en realidad llamar a un método en una clase, que se llama como un método normal. No se crea un hilo. Todavía hay un solo hilo principal en el programa. Debe esperar hasta que se ejecute el código en el método run () antes de continuar ejecutando el siguiente código, para que no se logre el propósito de escribir un hilo.
El método de ejecución es el lugar donde se implementa la lógica de negocios. Es esencialmente el mismo que cualquier método miembro de cualquier clase. Puede ejecutarse repetidamente, ser llamado repetidamente por un hilo o llamado individualmente.

Para resumir:
1.start () puede iniciar un nuevo hilo, run () no puede
2.start () no se puede llamar repetidamente, run () puede
3.run código en start () puede continuar ejecutando lo siguiente sin finalizar la ejecución Código, es decir, cambio de hilo. Llamar al método de ejecución directamente debe esperar a que se ejecute su código antes de que pueda continuar ejecutando el código siguiente.
4.start () realiza múltiples subprocesos, run () no realiza múltiples subprocesos.

Supongo que te gusta

Origin blog.csdn.net/qq_41489540/article/details/109109675
Recomendado
Clasificación