¿Cuáles son las desventajas de los servidores concurrentes multiproceso? ¿Qué se puede hacer para superar?
Ventajas del subproceso múltiple
El desarrollo de aplicaciones síncronas es más fácil, pero debido a que una nueva tarea debe completarse antes de que se complete la tarea anterior, su eficiencia suele ser mayor que esa. de aplicaciones multiproceso es bajo. Si la tarea de sincronización tarda más de lo esperado en completarse, es posible que la aplicación deje de responder. El subproceso múltiple puede ejecutar múltiples procesos simultáneamente. Por ejemplo, una aplicación de procesador de textos puede revisar la ortografía (como una tarea separada) mientras trabaja en el documento. Debido a que las aplicaciones multiproceso dividen un programa en tareas independientes, el rendimiento se puede mejorar significativamente de las siguientes maneras:
La tecnología multiproceso hace que los programas respondan mejor porque la interfaz de usuario se puede utilizar mientras se realiza otro trabajo. Siempre activo.
Las tareas que no se están procesando actualmente pueden ceder tiempo del procesador para otras tareas.
Las tareas que consumen mucho tiempo de procesamiento pueden ceder periódicamente tiempo del procesador para otras tareas.
Puedes detener la tarea en cualquier momento.
Puedes establecer la prioridad de cada tarea por separado para optimizar el rendimiento.
La necesidad de crear una aplicación multiproceso depende de varios factores. El subproceso múltiple es más adecuado cuando:
Las tareas que requieren mucho tiempo o uso intensivo del procesador bloquean las operaciones de la interfaz de usuario.
Las tareas individuales deben esperar a recursos externos (como archivos remotos o conexiones a Internet).
Por ejemplo, la aplicación de Internet "robot" se utiliza para seguir enlaces en una página web y descargar archivos que cumplen determinadas condiciones. Este tipo de aplicación puede descargar archivos individuales de forma sincronizada en secuencia o puede utilizar subprocesos múltiples para descargar varios archivos al mismo tiempo. El enfoque multiproceso es mucho más eficiente que el método síncrono porque el archivo se puede descargar incluso si el servidor web remoto responde muy lentamente en algunos subprocesos.
/Info/94/Info31410/amp; b=0amp; a=4amp; user=baidu#0
El siguiente es un ejemplo de subprocesos múltiples
Además, en la era Dos, la gente buscaba una implementación multitarea. Como resultado, aparecieron programas residentes en segundo plano de tipo TSR. Los más representativos incluyen Side Kick, Vsafe y otros excelentes programas TSR. De hecho, la aparición y aplicación de dichos programas ha brindado una gran comodidad a los usuarios al usar computadoras, como Side Kick. , podemos programar y editar el programa fuente mientras compilamos y ejecutamos sin ingresar al programa de edición, lo cual es muy conveniente. Sin embargo, el defecto fatal del sistema operativo de tarea única Dos hace imposible desarrollar un programa multitarea real bajo Dos. Al entrar en la era de Windows 3.1, esta situación no ha cambiado fundamentalmente. Una aplicación sólo puede hacer una cosa a la vez. Por ejemplo, consultas de bases de datos, a menos que la aplicación esté bien programada, todo el sistema no responderá a la entrada del usuario durante la consulta.
En la era de Windows NT y Windows 9x, la situación ha cambiado por completo. El sistema operativo ha realizado la multitarea en el verdadero sentido (estrictamente hablando, Win9x aún no se considera). Una aplicación puede tener muchos subprocesos de ejecución cuando sea necesario. Cada subproceso es un pequeño programa de ejecución. El sistema operativo permite automáticamente que cada subproceso comparta recursos de CPU para garantizar que ningún subproceso pueda bloquear el sistema. De esta manera, al programar, las tareas que consumen mucho tiempo se pueden mover a un segundo plano y se puede usar otro hilo en primer plano para aceptar la entrada del usuario. Para aquellas tareas de programación que requieren un alto rendimiento en tiempo real, como servicio al cliente de red, comunicación en serie y otras aplicaciones, la implementación de subprocesos múltiples sin duda mejorará en gran medida la usabilidad y estabilidad del programa.