Tarea múltiple

Multitask permite a los programas de Python usar los generadores (también conocidos como Coroutines) para realizar la multitarea cooperativa y la E / S asíncrona.
Descargar ahora

Tarea múltiple Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Precio:
  • FREE
  • Nombre del editor:
  • Chris Stawarz
  • Sitio web del editor:
  • http://o2s.csail.mit.edu/o2s-wiki/multitask

Tarea múltiple Etiquetas


Tarea múltiple Descripción

Multitask permite a los programas de Python usar generadores (también conocidos como coroutines) para realizar multitarea cooperativa y E / S asíncrono. Multitask permite a los programas de Python usar generadores (también conocidos como coroutines) para realizar multitarea cooperativa y E / S asíncrono. Las solicitudes escritas usando Multitarask consisten en un conjunto de tareas de cooperación que producen a un administrador de tareas compartidas cada vez que realizan una operación de bloqueo (potencialmente), como I / O en un socket o obtener datos de una cola. El administrador de tareas suspende temporalmente la tarea (Permitir que otras tareas se ejecuten mientras tanto) y luego se reinicien cuando se complete la operación de bloqueo. Dicho enfoque es adecuado para aplicaciones que de otro modo deberían usar selección () y / o múltiples subprocesos para lograr la concurrencia. Este proyecto es un software gratuito, distribuido bajo la licencia MIT.Examples: Como un ejemplo muy simple, aquí se puede usar. Multitaesea para permitir que dos tareas no relacionadas se ejecuten simultáneamente: >>> DEF Impresora (Mensaje): ... Mientras esté cierto: ... Imprimir Mensaje ... Rendimiento ... >>> Multitarask.add (Impresora ('Hello') ) >>> Multitarask.add (impresora ('adiós')) >>>>>>> HELLOGOOD.RUN () HELLOGOODBOOGOOTOOUTOBOGOUNBYBEE Para un ejemplo más útil, aquí se puede implementar un servidor multitarea que puede manejar múltiples Conexiones de clientes concurrentes: Desf LISTIENTE (calcetín): aunque sea cierto: Conn, Dirección = (Rendimiento multitarea.accepto (calcetín)) multitarask.add (Client_Handler (Conn)) Def Client_Handler (Calcetín): Mientras sea verdadero: Solicitud = (Rendimiento Multitarea. RETV (SOCK, 1024)) Si no se solicita: RESPUESTA DE RESPUESTAS = HANDAN_REQUEST (SOLICITUD) RENDIDO MULTITASK.SEND (SOCK, RESPUESTO) MULTITASK.ADD (SERVIENTE (SOCK)) MULTITASK.RUN () Las funciones y clases en el módulo multitarea permiten que las tareas produzcan las operaciones de E / S en los sockets y los descriptores de archivos, agregando / eliminando datos a / desde las colas, o para dormir para un intervalo específico. Al rendir, una tarea también puede especificar un tiempo de espera. Si la operación para la cual la tarea produjo no se ha completado después de la cantidad de segundos dado, la tarea se reinicia y se recauda una excepción de tiempo de espera en el punto de rendimiento. Las tareas también pueden producir otras tareas, lo que permite la composición de las tareas y reutilizar. del código de multitarea existente. Se ejecuta una tarea infantil hasta que complete o aumenta una excepción, y su salida o excepción se propaga a su padre. Por ejemplo: >>> def pie (): ... Pruebe: ... Imprimir 'Buen niño dice:% S'% (Rendimiento Niño ()) ... Imprimir 'Bad niño dice:% s'% (rendimiento Niño (malo = verdadero)) ... excepto excepción, E: ... Imprimir 'Excepción atrapada:% s'% e ... >>> DEF NIÑOS (BAD = FALSO): ... Si está mal: .. . ¡Levanta RunTimeError ('Ups!') ... ¡Rendimiento 'Hola, mamá!' ... >>> Multitask.add (padre ()) >>> Multitask.run () Buen niño dice: Hola, mamá! Atrapado Excepción: ¡Ups! Requisitos: · Python 2.5 o más tarde, lo que es nuevo en esta versión: · Las tareas infantiles ahora devuelven los valores a sus padres al elevar la parada con los valores de retorno como argumentos. · Se ha agregado get_default_task_manager () para proporcionar acceso a la instancia predeterminada de TaskManager. Utilizado por ADD () y Ejecutar (). · Se agregó readline (), que (en los sistemas similares a los unix) es útil para realizar lecturas de no bloqueo desde el STOUT de un proceso secundario.


Tarea múltiple Software relacionado

netshng

se puede utilizar en el desarrollo de aplicaciones que requieren comunicación directa con un enrutador de la familia Strata. ...

141

Descargar