Поток управления (Control Flow)
Потоком управления называют порядок, в котором выполняются инструкции или подпрограммы в приложении.
Structures: 1. Selection (If/Else, Switch). 2. Iteration (For, While, Do-While). 3. Transfers (Break, Continue, Return, Throw, GOTO). 4. Non-linear (Exceptions, Generators, Coroutines). Visualization: Flowcharts, UML Activity Diagrams, Control-Flow Graphs.
graph LR
Center["Поток управления (Control Flow)"]:::main
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простыми словами
Представь, что ты читаешь книгу с инструкциями. Обычно ты читаешь страницу за страницей. Но иногда там написано: 'если ты уже видел это, перейди на страницу 50' или 'повтори этот абзац 5 раз'. Эти переходы и есть поток управления процессом чтения.
🤓 Expert Deep Dive
Для системных инженеров поток управления — это управление стеком вызовов (Call Stack). Каждый раз, когда программа вызывает функцию, она сохраняет текущее положение в стеке, переходит к функции, а затем возвращается. Ошибки в управлении этим 'потоком' приводят к переполнению стека (Stack Overflow). В языках высокого уровня, таких как Python или JavaScript, по поток управления сильно влияют итераторы и генераторы, которые позволяют 'приостанавливать' выполнение функции и возвращаться к ней позже.