Skip to content

Latest commit

 

History

History
79 lines (43 loc) · 3.98 KB

File metadata and controls

79 lines (43 loc) · 3.98 KB
graph LR
    Concurrency_Decorator["Concurrency Decorator"]
    Execution_Orchestrator["Execution Orchestrator"]
    Function_Preparer["Function Preparer"]
    Argument_Proxy_Manager["Argument Proxy Manager"]
    Argument_Proxy["Argument Proxy"]
    Concurrent_Result_Handler["Concurrent Result Handler"]
    Concurrency_Decorator -- "triggers" --> Execution_Orchestrator
    Execution_Orchestrator -- "calls" --> Function_Preparer
    Execution_Orchestrator -- "utilizes" --> Argument_Proxy_Manager
    Argument_Proxy_Manager -- "relies on" --> Argument_Proxy
    Execution_Orchestrator -- "instantiates and returns" --> Concurrent_Result_Handler
    click Concurrency_Decorator href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/deco/Concurrency_Decorator.md" "Details"
Loading

CodeBoardingDemoContact

Details

The Concurrency Decorator subsystem is central to the deco project, providing a high-level abstraction for parallel execution through the @concurrent decorator. It embodies the Decorator and Facade patterns, simplifying the initiation and management of concurrent operations.

Concurrency Decorator [Expand]

The primary user-facing interface, acting as a facade via the @concurrent decorator to simplify parallel execution. It's the entry point for initiating concurrent operations, marking functions for parallelization.

Related Classes/Methods:

Execution Orchestrator

Encapsulates the core orchestration logic for concurrent execution. This method is invoked when a function decorated with @concurrent is called, managing the entire concurrent operation from argument preparation to initiating asynchronous execution.

Related Classes/Methods:

Function Preparer

Responsible for preparing the decorated function for concurrent execution, ensuring it's in a suitable state for parallel processing.

Related Classes/Methods:

Argument Proxy Manager

Manages and transforms function arguments by converting them into proxy objects, facilitating safe and efficient data transfer across process boundaries.

Related Classes/Methods:

Argument Proxy

Represents the actual wrapper or proxy object for individual arguments, enabling their serialization and deserialization for inter-process communication.

Related Classes/Methods:

Concurrent Result Handler

Serves as a placeholder for the eventual outcome of a concurrent operation, enabling non-blocking operations and allowing the main thread to continue execution while results are computed asynchronously.

Related Classes/Methods: