FixTask Documentation
This library allows you to create and communicate between threads (tasks).
Features:
- allows creation of tasks
- support for sending of messages between parent and child tasks
- support for sending of messages in channels (including ability to efficiently receive from multiple channels)
- allows easy computation on multiple CPU cores
- computation in parallel allows accessing the parent heap concurrently (in readonly mode, only shared arrays are writable)
- allows access to global data from different threads
- allows synchronization between tasks
- allows to do atomic operations on shared arrays
- allows to run scripts in separate contexts
- optional integration with FixIO async event loop (to use asynchronous I/O with Dispatcher)
- licensed under ZLIB license (no attribution required in binary builds)
Classes
- Task - task
- ComputeTask - compute task
- ParentRef - reference to parent heap in parallel processing
- Global - access to global data between tasks
- Atomic - atomic operations on shared arrays
- Barrier - synchronizing execution between tasks
- Heap - run scripts in separate context
- Channel - send messages between different tasks
- ChannelSet - efficient receiving of messages from multiple channels
- Dispatcher - receive messages from multiple channels using callbacks
C API