Task Framework Documentation

A powerful C++ framework for structuring concurrent applications with signal-based communication.

This framework provides a comprehensive solution for developing concurrent and parallel applications in modern C++. It's built around the concept of tasks that communicate through signals and slots, enabling loosely coupled, event-driven architectures that are both scalable and maintainable.

Thread Safety: The Task Framework is designed with concurrency in mind, featuring comprehensive thread safety mechanisms throughout its components. Each component includes robust synchronization to enable safe concurrent operation without requiring external locks in most cases. This architecture allows you to build high-performance concurrent applications while minimizing the risk of race conditions and deadlocks.

Key Features

Core Classes

SignalSlot

Implements a flexible, thread-safe event notification system that enables loosely coupled communication between components.

Base Class Communication Thread-Safe
View Documentation

Task

The foundation for all task components in the framework, with standard signals for task lifecycle events.

Base Class Core
View Documentation

Algorithm

Provides a framework for implementing executable algorithms with standardized signaling and progress reporting.

Core Execution
View Documentation

FlowAlgorithm

Extends Algorithm to provide a framework for implementing algorithms that process a sequence of jobs.

Execution Job Processing
View Documentation

ParallelAlgorithm

Provides a thread-safe framework for executing multiple jobs concurrently across multiple threads.

Parallel Job Processing Thread-Safe
View Documentation

Concurrent Execution

Runnable

Standardized interface for executable tasks with execution state tracking and progress reporting.

Execution Task
View Documentation

ThreadPool

Thread-safe manager that handles a collection of Runnable tasks and executes them in parallel across available CPU cores.

Parallel Performance Thread-Safe
View Documentation

TaskQueue

Thread-safe, priority-based task scheduling system that executes tasks based on their importance level.

Scheduling Prioritization Thread-Safe
View Documentation

Utilities

Chronometer

Utility component that provides precise time measurement capabilities for performance profiling.

Timing Utility
View Documentation

Counter

Thread-safe component that provides a signal-emitting numeric counter with configurable bounds.

Utility State Thread-Safe
View Documentation

For

Loop controller that represents an iteration process as a Task with signal-based notifications.

Control Flow Iteration
View Documentation

If

Provides a conditional control flow task in the task framework.

Control Flow Utility
View Documentation

Switch

A control flow component in the task framework that provides multi-way conditional task execution.

Control Flow Utility
View Documentation

Logger

Thread-safe centralized logging component that captures and formats log messages from task components.

Utility Logging Thread-Safe
View Documentation

FileLogger

Thread-safe centralized file logging component that captures and formats log messages from task components.

Utility Logging Thread-Safe
View Documentation

ProgressMonitor

Specialized task that tracks and responds to progress events across multiple tasks with thread-safe monitoring.

Monitoring Progress Thread-Safe
View Documentation

TaskObserver

Thread-safe monitoring tool that collects and analyzes statistics about task execution across the system.

Monitoring Statistics Thread-Safe
View Documentation

Concurrency Features

Thread Safety

The framework provides comprehensive thread safety with multiple synchronization mechanisms.

Concurrency Design

Asynchronous Execution

Execute tasks asynchronously with control over their lifecycle.

Concurrency Performance

Cancellation Support

Robust cancellation mechanisms for stopping long-running operations.

Control Responsiveness