Herramientas de usuario

Herramientas del sitio


fw:gevent

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
fw:gevent [2013/07/04 18:31]
alfred [gevent]
fw:gevent [2020/05/09 09:25] (actual)
Línea 62: Línea 62:
 ===== gevent ===== ===== gevent =====
   * Para instalarlo has de tener instalado en el operativo la librería ''​libevent-dev''​   * Para instalarlo has de tener instalado en el operativo la librería ''​libevent-dev''​
 +  * [[http://​www.gevent.org/​contents.html|Documentación]]
  
 Es una librería basada en concurrencia por greenlets para desarrollar aplicaciones asíncronas,​ puede ser aprovechado es las funciones de network. \\  Es una librería basada en concurrencia por greenlets para desarrollar aplicaciones asíncronas,​ puede ser aprovechado es las funciones de network. \\ 
Línea 82: Línea 83:
 ... Se ejecuta de la siguiente forma: \\  ... Se ejecuta de la siguiente forma: \\ 
 {{:​fw:​others:​flow.gif?​direct&​200|}} ​ {{:​fw:​others:​flow.gif?​direct&​200|}} ​
-===== Méotodos ​=====+==== Méotodos ====
   * ''​gevent.spawn()''​   * ''​gevent.spawn()''​
   * ''​gevent.joinall([gevents])'',​ detiene la ejecución del programa hasta que los greenlets no han acabado.   * ''​gevent.joinall([gevents])'',​ detiene la ejecución del programa hasta que los greenlets no han acabado.
-==== Ejemplos ====+ 
 +==== Monkey patching ==== 
 +Es una técnica que consiste en substituir llamadas a elementos del sistema que son bloqueantes por otras que no lo son y, de esa forma, adaptar código antiguo al nuevo. \\  
 +Por ejemplo existe una substitución a ''​sleep''​. La de la librería básica bloquea el event loop mientras que ''​gevent.spleep''​ no . \\  
 +Módulos que han sido substituidos:​ //socket//, //ssl//, //os//, //time//, //select//, //thread // y //​threading//​. 
 + 
 + 
 + 
 +===== Ejemplos ​=====
 === Métodos síncronos y asíncronos === === Métodos síncronos y asíncronos ===
  
Línea 170: Línea 179:
 print '​Asynchronous:'​ print '​Asynchronous:'​
 asynchronous() asynchronous()
 +</​code>​
 +===== Notas =====
 +==== ZeroMQ ====
 +Para hacer el paquete ''​pyzmq''​ compatible con los greenlets instalaremos el paquete ''​gevent-zeromq''​. A partir de entonces instanciaremos zeromq de la siguiente forma:
 +<code python>
 +from gevent_zeromq import zmq
 </​code>​ </​code>​
fw/gevent.1372962692.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)