Diez, base de Java multiproceso de asignación racional de grupo de subprocesos

I. Antecedentes

Otras razones (operaciones IO) 1. Generación de bloqueo: las frecuentes peticiones, la lectura de la base de datos, se trata de operaciones IO cíclicos de bloqueo puede ocurrir. Por ejemplo: http solicitud posterior querría ser un hilo separado. Las tareas pueden ser entendidas como lógica run () código de método.

Dos, intensivo de la CPU

medios de CPU que la tarea requiere una gran cantidad de cómputo, sin obstrucción, CPU funciona a toda velocidad .

CPU tareas intensivas sólo es probable que se aceleren (por múltiples hilos) en la verdadera CPU de varios núcleos, y la CPU en un solo núcleo, multi-hilo si se abre varias simulaciones, la tarea no se puede acelerar, porque la operación total de la CPU la capacidad de esos.

Tres, IO-intensiva

-IO intensiva, es decir, la tarea requiere una gran cantidad de IO, que es un montón de congestión. IO-tareas intensivas que se ejecutan en un solo hilo conducirán a perder una gran cantidad de energía de la CPU desperdiciado en espera. Así, utilizando las tareas de IO-intensivos en un programa multi-hilo puede acelerar en gran medida la carrera, en un tiempo real de la CPU de un solo núcleo, esta aceleración se debe principalmente se desperdicia el uso del tiempo de bloqueo.

A continuación, en un grupo de subprocesos explorar la cola izquierda, cómo configurar el tamaño del grupo de subprocesos.

Para una distribución razonable del tamaño del grupo de subprocesos, primero debe analizar las características de la tarea, se puede analizar desde las siguientes perspectivas:

1. La naturaleza de la tarea: tareas intensivas de la CPU, IO-tareas intensivas, la misión híbrida.

2. tareas prioritarias: alta, media y baja.

3. tarea de tiempo de ejecución: largo, medio y corto.

4. tareas dependientes: si se debe depender de otros recursos del sistema, tales como acceso a la base de datos.

La naturaleza de la tarea puede ser diferente para diferentes tamaños de grupo de subprocesos para llevar a cabo.

Por la distinta naturaleza de la tarea es, tareas intensivas de la CPU debe configurarse como pequeños hilos, tales como el número de hilos para configurar el número de CPU 1, tareas-IO intensiva deben ser configurados con tantos procesos como operaciones de IO no ocupan la CPU, no deje que la CPU se retiró y se sientan, se debe aumentar el número de hilos, como la configuración de la CPU 1 doble del número, y para la misión híbrida, si se puede dividir, dividir en procesamiento IO-intensivo y uso intensivo de CPU, respectivamente, con la condición de que dos de fórmula de tiempo es aproximadamente la misma, si el tiempo de procesamiento es una gran diferencia, no es necesario dividir.

Si la tarea tiene dependencias en otros recursos del sistema, tales como una tarea depende de los resultados de la conexión de base de datos se devuelve, esta vez más larga es la espera, el más largo es el tiempo de inactividad de la CPU, mayor es el número de hilos se debe establecer con el fin de mejor utilizando la CPU.

Por supuesto, específica y el tamaño del grupo de subprocesos valor razonable, se requiere una combinación de la situación real del sistema, con el fin de obtener número relativamente grande de intentos, más que un resumen de la ley anterior.

El número óptimo de threads = ((rosca tiempo de CPU hilo latencia +) / CPU hilo) * Número de CPU

Cada hilo como el tiempo medio de la CPU es 0,5 s, y el hilo está a la espera de tiempo (tiempo sin CPU, tales como IO) a 1,5 s, el núcleo de la CPU es 8, entonces la estimación obtenida basa en la fórmula anterior: ((0,5 + 1,5) / 0.5) * 8 = 32. Esta fórmula se convierte además para:

= Número óptimo de hilos (hilos con una relación de hilo CPU tiempo de latencia + 1) * Número de CPU

Se puede sacar una conclusión: 
hilo de esperar cuanto mayor sea el porcentaje, más la necesidad de hilo. Cuanto mayor es el porcentaje de tiempo de CPU del hilo, necesitan menos hilos de rosca. 
El número de CPU y tareas IO-intensivos establece antes de que el hilo por encima de fórmula básicamente.

Cuando los intensivo de la CPU tareas para configurar un pequeño número de hilos, y probablemente un buen número de máquinas núcleo de la CPU, de modo que cada hilo puede realizar tareas en

Cuando el IO-intensiva, la mayor parte de los hilos se bloquean, es necesario configurar la cuenta de múltiples hilos, 2 de auditoría * CPU

El nombre del sistema operativo explicación:

Algunos avances han pasado la mayor parte del tiempo en un equipo, mientras que otros están a la espera de E / S pasó la mayor parte de las veces,

El primero se llama computacionalmente intensivos (CPU) del ordenador de ruedas, que se llama I / O intensiva, I / O-ligado.

En cuarto lugar, el fin de la

¡¡¡Siempre mantén la fe!!!

Publicados 122 artículos originales · ganado elogios 64 · Vistas a 50000 +

Supongo que te gusta

Origin blog.csdn.net/chenmingxu438521/article/details/103857850
Recomendado
Clasificación