코루틴(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

Thread

스레드의 기본 개념과 프로세스와의 차이점 설명. 멀티스레딩의 장점과 주요 구현 방식(POSIX Threads, Windows Threads). 유사 기술: 멀티프로세싱, 비동기 처리. Thread Thread는 프로그램 실행의 기본 단위로, 프로세스 내에서 실행되는 독립적인 작업 흐름을 의미한다. 하나의 프로세스는 여러 개의 Thread를 가질 수 있으며, 이들은 프로세스의 자원을 공유한다. Source: https://blog.devgenius.io/program-process-and-thread-explained-in-one-minute-6016e4fdf4de Thread의 구성 요소 Thread는 다음과 같은 구성 요소를 가진다: 프로그램 카운터 레지스터 집합 스택 공간 Thread ID 이러한 요소들은 각 Thread의 독립적인 실행을 가능하게 한다. Thread의 특징 경량성: Thread는 프로세스에 비해 생성과 관리가 더 빠르고 효율적이다. 자원 공유: 같은 프로세스 내의 Thread들은 코드, 데이터, 파일 등의 자원을 공유한다. 병렬 실행: 멀티코어 시스템에서는 여러 Thread가 실제로 동시에 실행될 수 있다. 기능과 역할 기능 역할 장점 병렬 처리 - 동시에 여러 작업 수행 CPU 활용도 증가 - 성능 향상 - 응답성 개선 자원 공유 - 프로세스 자원 공유 - 효율적인 메모리 사용 - 메모리 절약 - 통신 비용 감소 비동기 처리 - 독립적인 작업 수행 - 이벤트 처리 - 응답성 향상 UI 처리 효율화 Thread의 종류 Thread는 크게 두 가지로 나눌 수 있다: ...

October 4, 2024 · 4 min · Me