Linux en la programación multiproceso tiene que mejorar la respuesta de las aplicaciones, los sistemas multi-cpu más efectivo, etc., siguiendo pequeñas series se comunicará con usted en el ejemplo de la programación multihilo shell de Linux bajo proceso de programación multihilo, juntos bajo la comprensión de la misma.
#! /Bin /bash
# — — — — — — — — — — — — — — — — — — — — — — — — — — — –
# este ejemplo muestra una simulación de comandos multi-hilo una habilidad
con la espera, lee
# esto habilidades se utilizan a menudo para comprobar varios hosts, como inicio de sesión ssh, ping y por lo que este proceso es relativamente lento y no gastar un solo caso de la CPU
# también se describe el control de multiproceso
# — — — — — — — — — — — — — — — — — — — — — — — — — — — –
función a_sub
{
# una función definida aquí como una rosca (subproceso)
sueño 3 # hilos efecto es 3s sueño
}
tmp_fifofile = " /tmp /$ FIFO y ". mkfifo $ tmp_fifofile # Crear un archivo de tipo FIFO
exec 6 "" punto $ tmp_fifofile # FD6 del tipo FIFO
rm $ tmp_fifofile hilo = 15 # número de hilos definidos en este documento
para
((i = 0; i "$ hilo; i ++)); hacer eco
hecho" $ hilo se coloca de hecho un retorno de carro
en el FD6 para
( (i = 0; i "50; i ++)); hacer # 50 ciclos, 50 puede entenderse como un huésped, o de otro
leer -u6 # un comando -u6 leer una vez, de FD6 restando un carruaje, y luego realizar abajo,
# FD6 no cuando el carro se detuvo en esto, el número de hilos con el fin de lograr el control
# {sub aquí proceso iniciado, está en el fondo
a_sub &&
{# proceso hijo en el presente documento pueden usarse para determinar la lógica
echo " a_sub está terminado y "
}
|
|
{Echo " sub error y "
}
echo " después del final del proceso cuando, en FD6 de nuevo por un retorno de carro, es decir, hasta en el -u6 menos lectura que
}
hecho de espera de espera para todos los antecedentes subproceso termina
exec 6 "&- # estrecha salida DF6 0
Descripción:
comandos de este programa
mkfifo tmpfile
y los comandos de Linux
mknod tmpfile p
eficiente? La misma fruta. La diferencia es mkfifo el estándar POSIX, se recomienda usarlo. Este comando crea la primera en su archivos de tubería de primera fuera y asignar el identificador de archivo 6. Tubo de archivos es una forma de comunicación entre procesos, es importante tener en cuenta que este es un
exec 6 "" $ # tmp_fifofile FIFO tipo de punto FD6
Si no hay una frase en el archivo $ tmp_fifofile o &6 para escribir datos, el programa se bloqueará hasta que los datos de lectura se leen fuera de la tubería hasta que el archivo. La aplicación de la frase anterior después de que usted puede seguir para escribir datos en FIFO sin bloquear tipos de archivos durante la ejecución del programa, y los datos se guardarán para el programa de lectura lee.
ejecutando el comando: tiempo
. /multithread.sh "/dev /null
final de tiempo de funcionamiento: 50/15 = 3 grupos (n = 15) + 1 grupo (5" un grupo que consiste de 15) = 4 grupos, cada grupo lleva tiempo : 3 segundos,
es de 3 * 4 = 12 segundos.
no roscada código de tiempo de cálculo convencional: 50 * 3 = 150 segundos.
Lo anterior es un ejemplo de programación multi-hilo debajo de la caja de Linux introdujo, el uso de la programación multi-hilo también puede mejorar la estructura del programa, amigos interesados pueden desear intentarlo.
TWiki es un programa wiki versátil que debe ejecutarse en un entorno Perl. En sistemas Linux, TWiki
En los sistemas Windows, si la aplicación no responde, iniciaremos el administrador de tareas para f
Muchos usuarios en el sistema Linux están expuestos a comandos más cortos, y los comandos hadoop dfs
El comando xlsfonts en Linux parece un montón de caracteres ilegibles. Pero xlsfont
Linux usa el comando para borrar la pantalla del terminal
Cómo resolver los problemas encontrados cuando la migración de Unix al sistema Linux capacita
Sistema Linux: cómo crear una tarea programada con crontab
¿Conoces las 7 tendencias principales en el espacio de escritorio de Linux?
Cómo Linux rompe la contraseña de root en modo de usuario único
Cómo instalar y configurar la herramienta ClusterShell para sistemas Linux
Paso Linux desconexión manual Firewall
Ubuntu usa el comando para instalar qBittorrent
Instalación de Linux usando la herramienta de compresión 7-zip steps
Cómo Linux puede modificar rápidamente el archivo sql en la ID especificada
Explicación detallada de cómo configurar el enrutamiento OpenWRT
Cómo acortar el largo tiempo de respuesta del programa Win7
Sistema Win7 cómo mejorar la velocidad de la red
¿Cómo se abre el modo Dios del sistema Win10?
Habilidades de procesamiento de conflictos de instalación de Win7 vs y xampp 80 puertos
Win10 Partner Conference: Microsoft WPC2015 Positivo
5 formas de encontrar la letra del disco duro móvil en el sistema WinPE
Cómo instalar Win8.1 en U disco Win8.1 instalación en U disco o disco duro móvil tutorial
Cómo reinstalar el sistema de Win 7 puede garantizar que los datos no se pierdan
¿Cómo no tiene Win8 la función de reparación de computadora F8?