asyncio 2

[고급반] Step 3. Concurrency & Parallel: 멀티태스킹의 두 얼굴 완벽 이해하기

현대 소프트웨어 개발에서 "빠른 서비스"는 필수입니다. 하지만 무작정 스레드를 늘린다고 속도가 빨라지지는 않습니다. 내 프로그램이 왜 느린지, 어떤 방식의 병렬 처리가 필요한지 명확한 개념부터 실전 적용법까지 알아봅니다.1. ❓ [Concurrency vs Parallel] 개념의 실체많은 개발자가 이 둘을 혼용하지만, 핵심은 '동시'의 의미가 물리적인가 논리적인가에 있습니다.동시성 (Concurrency): 여러 작업을 번갈아 가며 처리하여 동시에 실행되는 것처럼 보이게 하는 논리적인 개념입니다. (싱글 코어에서도 가능)병렬성 (Parallelism): 여러 작업을 실제로 동시에 물리적인 여러 코어에서 처리하는 개념입니다. (멀티 코어 필수)"동시성은 한 번에 많은 것을 다루는(Dealing) 것이고,..

개발/Python 2026.01.05

[중급반] Step 5. 병렬성과 동시성: Multiprocessing과 Asyncio

Step 5에서는 파이썬의 성능을 극대화하는 **병렬성(Parallelism)**과 **동시성(Concurrency)**을 다룹니다. 파이썬은 GIL(Global Interpreter Lock)이라는 제약이 있지만, 이를 우회하여 여러 작업을 동시에 처리하는 다양한 전략을 가지고 있습니다. CPU 집약적인 작업과 I/O 집약적인 작업을 어떻게 다르게 처리해야 하는지 배워봅시다.1. 🚦 파이썬의 제약: GIL (Global Interpreter Lock)파이썬(CPython)은 한 번에 하나의 스레드만 파이썬 바이트코드를 실행하도록 설계되어 있습니다. 이를 GIL이라고 합니다.영향: 멀티 코어 환경에서도 멀티스레딩만으로는 CPU 연산 성능을 온전히 끌어올리기 어렵습니다.해결책: CPU 연산이 많은 작업은..

개발/Python 2025.12.26
반응형