Primitives
- actor-like Process and PID
- Local message passing via dispatch, defer (deferred dispatch), and delay (delayed dispatch)
- Functional composition via Futures/Promises
- Remote message passing via install, send / moinitoring via link, exited notification
Libprocess:Features
- Asynchronous event loop via libev (libevent)
- Parallel (Schedules Processes onto worder threads)
- Collection of many asynchronous utilies
- Provides a metrics library for monitoring
Libprocess: Programming Model
- Each Process has a “queue” of incoming “messages”
- Each Process provides an execution context (only one thread
executing within a Process at a time) - No per Process synchronization!
- Blocking a Process is strictly forbidden!