SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Buenos Aires - Crystal Meetup #1
Concurrencia
En Crystal
Juan Wajnerman
jwajnerman@manas.com.ar
Concurrencia
vs
Paralelismo
Estado Actual
❖ Un único thread
❖ Corutinas cooperativas (Fibers)
❖ Event Loop
❖ Canales de Mensajes (CSP)
Un Proceso Crystal
Fiber
#1
Fiber
#2
Fiber
#3
Fiber
#…
Runtime
Scheduler
Event Loop
Archivos
Sockets
Pipes
Signals
Timers
Channels
GC
Fibers
❖ Cooperativos
❖ Livianos (desde 4KB)
❖ En 32 bit: máx. 512 fibers
❖ En 64 bit: millones y millones...
Fiber
Stack
(8MB)
4KB
Fibers
spawn do
# ...
end
Event Loop
Event Loop Fiber
libevent
epoll, kqueue, etc…
Sistema Operativo
Event Loop
spawn do
...
@socket.read(…)
...
end
spawn do
...
sleep 5
...
end
Canales
❖ Permiten comunicar fibers sin compartir memoria
❖ Basados en CSP, similares a los canales de Go
❖ Dos tipos:
❖ Unbuffered
❖ Buffered
DEMO
Futuro
❖ Operador select para multiplexar operaciones en un
mismo fiber
❖ Multithreading
❖ Loop fiber nativo (sin libevent)
¡Gracias!
Juan Wajnerman
email: jwajnerman@manas.com.ar
@wajtwitter:

Weitere ähnliche Inhalte

Was ist angesagt?

Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloMarco Bellido
 
Builders' Day - Machine Learning at Meli - AWS
Builders' Day - Machine Learning at Meli - AWSBuilders' Day - Machine Learning at Meli - AWS
Builders' Day - Machine Learning at Meli - AWSAmazon Web Services LATAM
 
Postgresql la apuesta_acertada
Postgresql la apuesta_acertadaPostgresql la apuesta_acertada
Postgresql la apuesta_acertadaLennin Caro
 
Clase 1 introducción a symfony 2
Clase 1   introducción a symfony 2Clase 1   introducción a symfony 2
Clase 1 introducción a symfony 2hydras_cs
 

Was ist angesagt? (7)

Modelo Md1
Modelo Md1Modelo Md1
Modelo Md1
 
Dockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrolloDockeriza tu entorno de desarrollo
Dockeriza tu entorno de desarrollo
 
Builders' Day - Machine Learning at Meli - AWS
Builders' Day - Machine Learning at Meli - AWSBuilders' Day - Machine Learning at Meli - AWS
Builders' Day - Machine Learning at Meli - AWS
 
Dropbox
DropboxDropbox
Dropbox
 
Postgresql la apuesta_acertada
Postgresql la apuesta_acertadaPostgresql la apuesta_acertada
Postgresql la apuesta_acertada
 
6.2. js
6.2. js6.2. js
6.2. js
 
Clase 1 introducción a symfony 2
Clase 1   introducción a symfony 2Clase 1   introducción a symfony 2
Clase 1 introducción a symfony 2
 

Ähnlich wie Concurrencia en Crystal

IPv6 llegó para quedarse
IPv6 llegó para quedarseIPv6 llegó para quedarse
IPv6 llegó para quedarseEducática
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osiguest4d27d3
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osiguest4d27d3
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osiHECTOR JAVIER
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osiguest4d27d3
 
Desarrollando aplicaciones reactivas con Akka y Scala
Desarrollando aplicaciones reactivas con Akka y ScalaDesarrollando aplicaciones reactivas con Akka y Scala
Desarrollando aplicaciones reactivas con Akka y ScalaUbaldo Taladriz
 
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Leandro Guerra
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osiguest4d27d3
 
Protocolo de Internet (IPv6) -Redes
Protocolo de Internet (IPv6) -RedesProtocolo de Internet (IPv6) -Redes
Protocolo de Internet (IPv6) -RedesAmilcar Meneses
 
Introducción al Direccionamiento IPv6
Introducción al Direccionamiento IPv6Introducción al Direccionamiento IPv6
Introducción al Direccionamiento IPv6Educática
 

Ähnlich wie Concurrencia en Crystal (20)

IPv6 llegó para quedarse
IPv6 llegó para quedarseIPv6 llegó para quedarse
IPv6 llegó para quedarse
 
Protocolo de red IPv6
Protocolo de red IPv6Protocolo de red IPv6
Protocolo de red IPv6
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osi
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osi
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osi
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osi
 
I pv6
I pv6I pv6
I pv6
 
Desarrollando aplicaciones reactivas con Akka y Scala
Desarrollando aplicaciones reactivas con Akka y ScalaDesarrollando aplicaciones reactivas con Akka y Scala
Desarrollando aplicaciones reactivas con Akka y Scala
 
Redes wan
Redes wanRedes wan
Redes wan
 
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
Datos en la nube: colas, caché, topics y otras yerbas (Code Camp Argentina 2011)
 
Social Erlang
Social ErlangSocial Erlang
Social Erlang
 
Funciones y protocolos del modelo osi
Funciones y protocolos del modelo osiFunciones y protocolos del modelo osi
Funciones y protocolos del modelo osi
 
855
855855
855
 
Los motivos de i pv6 2016
Los motivos de i pv6 2016Los motivos de i pv6 2016
Los motivos de i pv6 2016
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Protocolo de Internet (IPv6) -Redes
Protocolo de Internet (IPv6) -RedesProtocolo de Internet (IPv6) -Redes
Protocolo de Internet (IPv6) -Redes
 
Introduccion a ipv6_v1 alexandra redes
Introduccion a ipv6_v1 alexandra redesIntroduccion a ipv6_v1 alexandra redes
Introduccion a ipv6_v1 alexandra redes
 
MPLS.pptx
MPLS.pptxMPLS.pptx
MPLS.pptx
 
Introducción al Direccionamiento IPv6
Introducción al Direccionamiento IPv6Introducción al Direccionamiento IPv6
Introducción al Direccionamiento IPv6
 
Arquitectura de redes
Arquitectura de redesArquitectura de redes
Arquitectura de redes
 

Kürzlich hochgeladen

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Kürzlich hochgeladen (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Concurrencia en Crystal