Upload
crystal-language
View
1.082
Download
0
Embed Size (px)
Citation preview
Estado Actual
❖ Un único thread
❖ Corutinas cooperativas (Fibers)
❖ Event Loop
❖ Canales de Mensajes (CSP)
Un Proceso CrystalFiber
#1
Fiber#2
Fiber#3
Fiber#…
RuntimeScheduler
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
Canales
❖ Permiten comunicar fibers sin compartir memoria
❖ Basados en CSP, similares a los canales de Go
❖ Dos tipos:
❖ Unbuffered
❖ Buffered
Futuro
❖ Operador select para multiplexar operaciones en un mismo fiber
❖ Multithreading
❖ Loop fiber nativo (sin libevent)