Serie de concurrencia JUC (1): ¿Qué? ¡Escuché que confundes concurrencia y paralelismo!

No es difícil ejecutar un programa; ¡lo difícil es qué tan lejos puede ejecutarse el programa! —— una semilla feroz

Inserte la descripción de la imagen aquí

Antes de saltar al tema, si no comprende los hilos y los procesos, asegúrese de hacer las paces (el enlace ya se ha enviado). Al igual que lo anterior, que cita una semilla feroz, la simultaneidad de aprendizaje no solo determina qué tan lejos puede ejecutarse el programa, sino que también determina usted Qué tan lejos puedes ir.

Comprender el subproceso múltiple se basa en una comprensión profunda de la multitarea, los procesos, el subproceso múltiple y los subprocesos

Los amigos que corrieron a leer el artículo anterior, ¿volvieron llenos de signos de interrogación, curiosos acerca de cuántos subprocesos tiene Java por defecto?

Es de suponer que puede responder, por supuesto que es 1, mian hilo, aprenda hola mundo, entonces lo sabrá.

Desafortunadamente, ¡estuvo mal!

La respuesta correcta es: Java tiene 2 subprocesos por defecto, uno es el principal y el otro es GC. (Hay un signo de interrogación en esto, no te preocupes, sabrás sobre JVM en ese momento. La premisa es seguirme, jeje)

Parece estar muy lejos (pero ¿no es bueno aprender más conocimientos?)

Inserte la descripción de la imagen aquí

El concepto de concurrencia en realidad no es desconocido, si su proyecto tiene una mayor cantidad de datos, debe haberlo encontrado. (Incluso si no, la entrevista es un punto de conocimiento imprescindible, porque es muy importante en la empresa. Ya sea que se trate de una gran cantidad de datos del proyecto, es un último recurso o un obstáculo que no se puede evitar. )

Este artículo es la primera familiaridad con las series de concurrencia (1), hablando de concurrencia, de hecho, hablando de programación concurrente.

La esencia de la programación concurrente: aprovechar al máximo los recursos de la CPU.

Permítanme lanzarles una pregunta, incluso si conocen la concurrencia, ¿qué es el paralelismo?

Inserte la descripción de la imagen aquí

1. ¿Qué es concurrencia y paralelismo?

Simultaneidad: varios subprocesos operan en el mismo recurso. (Puede entenderse como ejecución alternativa)

Se refiere a la ejecución de una sola instrucción al mismo tiempo, la programación de la CPU tendrá la ilusión de que se está ejecutando al mismo tiempo, no al mismo tiempo, de hecho, se ejecuta en rotación (descrita en la serie de múltiples subprocesos en profundidad), es decir, ejecución alternativa rápida.

Paralelo: ejecución simultánea.

Se refiere a la ejecución simultánea de múltiples instrucciones al mismo tiempo, tanto los niveles macro como micro se ejecutan juntos. (He hablado sobre multiproceso en profundidad)

La CPU de múltiples núcleos ya no es la ilusión de una operación alternativa tan rápida, la CPU de múltiples núcleos realmente se está dando cuenta de la ejecución simultánea de múltiples subprocesos.

Podemos echar un vistazo a nuestro procesador.
Inserte la descripción de la imagen aquí

2. Código para obtener la cantidad de núcleos de CPU

public class demo{
    
    
    public static void main(String[] args) {
    
    
        System.out.println(Runtime.getRuntime().availableProcessors());
    }
}

Resultado de ejecución (el número de núcleos de CPU obtenidos es el mismo que vimos en la gestión de la computadora).

Inserte la descripción de la imagen aquí

Tres. Finalmente

Al final, para una mejor experiencia de lectura, pongo todo lo que quiero decir a continuación, jeje.

Soy semilla de decisiones basadas en mi voluntad, en serio compartir lo que escribí en el blog ha sido el mismo credo.
Si puedes leer esta entrada del blog, significa que todavía estamos muy destinados; espero que te pueda traer algo de ayuda, la creación no es fácil,
quita el conocimiento de mi artículo, tus tres seguidos dejan, me gusta, comenta, sigue , Es mi mayor motivación.

Supongo que te gusta

Origin blog.csdn.net/A_hxy/article/details/108632747
Recomendado
Clasificación