Process vs Thread vs Coroutine

Process vs. Thread vs. Coroutine Process, Thread, Coroutine은 모두 프로그램 실행의 단위이지만, 각각 다른 특성과 용도를 가지고 있다. Process: 독립적인 실행 단위로, 자체 메모리 공간과 시스템 자원을 가진다. 다른 프로세스와 완전히 격리되어 있어 안정성이 높다. 생성과 전환에 많은 비용이 든다. Thread: 프로세스 내부의 실행 단위로, 같은 프로세스의 다른 스레드와 메모리를 공유한다. 프로세스보다 가볍고, 생성과 전환 비용이 적다. 동시성을 제공하지만, 동기화 문제에 주의해야 한다. Coroutine: 경량 스레드라고도 불리며, 스레드 내에서 실행되는 협력적 멀티태스킹 단위. 매우 가볍고, 생성과 전환 비용이 매우 적다. 비동기 프로그래밍을 단순화하고, 동시성을 효율적으로 관리한다. Process, Thread, Coroutine의 관계는 다음과 같이 계층적으로 표현할 수 있다: CPU > Core > Process > Thread > Coroutine ...

October 6, 2024 · 3 min · Me

코루틴(Coroutine)

코루틴 (Coroutine) 코루틴 (Coroutine) 은 복잡한 비동기 작업을 간단하고 효율적으로 처리할 수 있게 해주는 프로그래밍 개념이다. 프로그램의 실행 흐름을 제어할 수 있는 프로그래밍 구성 요소이다. 일반적인 함수와 달리, 코루틴은 실행을 일시 중단하고 재개할 수 있으며, 여러 진입점과 종료점을 가질 수 있다. 이는 마치 대화하는 것처럼, 실행을 주고받을 수 있다는 특징이 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 # Python에서의 간단한 코루틴 예제 async def simple_coroutine(): print("코루틴 시작") await asyncio.sleep(1) # 중단점 print("1초 후 재개") await asyncio.sleep(1) # 다른 중단점 print("또 1초 후 재개") # 코루틴 실행 async def main(): await simple_coroutine() asyncio.run(main()) https://medium.com/@turxan.dunya97/simple-explanation-what-is-coroutines-in-programming-d01e0ddf6f06 ...

October 5, 2024 · 29 min · Me