-
Notifications
You must be signed in to change notification settings - Fork 16
Sync Async PlantUML
ZjzMisaka edited this page Mar 27, 2026
·
3 revisions
@startuml
skinparam BackgroundColor #F5F7FA
skinparam defaultTextAlignment center
skinparam ArrowThickness 1.5
skinparam componentStyle rectangle
skinparam roundcorner 10
skinparam monochrome false
skinparam component {
BackgroundColor #FFFFFF
BorderColor #90A4AE
}
skinparam actor {
BackgroundColor #ECEFF1
BorderColor #607D8B
}
skinparam package {
BackgroundColor #EBF5FB
BorderColor #90A4AE
}
skinparam database {
BackgroundColor #FFF8E1
BorderColor #FFB300
}
skinparam ArrowColor #1565C0
actor "Developer / Client" as User
rectangle "PowerPool (Unified API)" as PP_API #EBF5FB {
[QueueWorkItem\n(Sync Action/Func)] as QSync
[QueueWorkItem\n(Async Task)] as QAsync
[Control API\n(Stop/Pause/Wait)] as Ctrl
[Fetch API\n(Get Results)] as Fetch
}
rectangle "Unified Core Representation" as CORE #E3F2FD {
[WorkID\n(Unique Identifier)] as WID
[WorkBase\n(Unified Wrapper)] as WB
[AsyncWorkInfo\n(State Linker)] as AWI
}
rectangle "Execution Engine" as EE #E8F5E9 {
[Worker Threads\n(Executors)] as Workers
[PowerPool\nSynchronizationContext] as PPSC
}
' User Interactions
User --> QSync
User --> QAsync
User --> Ctrl
User --> Fetch
' Creation & Identification
QSync --> WB : Creates
QAsync --> WB : Creates
WB -up-> WID : Identified by
Ctrl --> WID : Targets
Fetch --> WID : Queries
' Async Magic
QAsync .right.> AWI : Attaches
AWI -left-> WB : Links Continuations\n(BaseAsyncWorkID)
' Execution Flow
WB -left-> Workers : Dispatched to
Workers .up.> PPSC : Sets Context\n(If Async)
PPSC -right-> WB : Posts 'await' as\nNew WorkBase
@enduml- Sync | Async
- Pool Control | Work Control
- Divide And Conquer
- Thread Pool Sizing
- Work Callback | Default Callback
- Rejection Policy
- Parallel Execution
- Work Priority | Thread Priority
- Error Handling
- Work Timeout | Cumulative Work Timeout
- Work Dependency
- Work Group
- Events
- Runtime Status
- Running Timer
- Queue Type (FIFO | LIFO | Deque | Custom)
Core
Results
Options