코루틴
-
상태기계와 코루틴 프레임Programming🧑💻/Cpp 2025. 2. 14. 22:40
코루틴이란?일반적인 함수의 경우 한번 호출되면 완료될때까지 실행되지만 코루틴은 실행 중간에 중단되었다가 나중에 중단됨 지점부터 다시 재개될 수 있는 함수입니다. 상태기계 (State Machine)상태기계는 코루틴이 어떻게 함수의 실행을 중단했다가 다시 재개할 수 있는지를 설명하는 핵심 매커니즘입니다. 컴파일러는 코루틴 함수를 상태기계로 변화하는 과정을 거칩니다. 예를 들어, 다음과 같은 코루틴이 있다고 가정했을 때, task example_coroutine() { std::cout 컴파일러는 이 코드를 내부적으로 다음과 같은 상태들을 가진 상태 기계로 변환합니다. // 컴파일러가 생성하는 내부적인 상태 기계의 의사 코드class ExampleCoroutineStateMachine { // ..
-
서브 루틴과 코루틴Programming🧑💻/Cpp 2025. 2. 13. 20:05
루틴이란?프로그래밍에서 루틴은 프로그램의 실행흐름을 의미합니다. 모든 프로그램은 하나 이상의 루틴으로 구성되어 있으며, 이러한 루틴들이 어떻게 상호작용하는지에 따라 프로그램의 동작이 결정됩니다. 서브 루틴 (subroutine)서브 루틴은 가장 일반적인 프로그램 실행 흐름의 형태입니다. 계층적 구조 : 서브루틴은 호출자-피호출자의 명확한 계층 관계를 가집니다. 메인 함수가 서브루틴을 호출하면, 서브 루틴은 메인함수에 종속됩니다. .단방향 제어 흐름 : 제어 흐름이 항상 호출자에서 피호출자로 전달되며, 작업이 완료되면 다시 호출자로 돌아옵니다. 동기적 실행 : 서브루틴이 실행되는 동안 호출자는 대기 상태가 되며, 서브 루틴이 완료될때까지 다음 작업을 수행할 수 없습니다. def sub(): print..