본문 바로가기
728x90
반응형

I/O3

[Python] 동시성(Concurrency)과 병렬성(Parallelism) 개요프로그래밍에서 동시성(Concurrency)과 병렬성(Parrallelism)은 시스템의 효율성과 성능을 높이는 데 필수적인 개념입니다. 두 용어는 종종 혼용되지만, 실제로는 근본적인 차이가 있습니다. 주제 개념 및 용어 정리구분동시성(Concurrency)병렬성(Parallelism)실제 단어 뜻동시 + 성 : 여러 일이 함께 진행될 수 있는 성질병렬 + 성 : 여러 일이 실제로 나란히 수행되는 성질IT 용어 개념단일 코어에서도 여러 작업을 동시에 진행되는 것처럼 보이게 처리하는 논리적인 기술(시간을 짧게 쪼개 번갈아 가며 작업)멀티 코어 환경에서 여러 작업을 진짜로 동시에 실행하는 물리적 기술(하드웨어적 다중 처리)핵심관리(Dealing) : 여러 작업을 동시에 처리하는 방법을 구조화하고 관리하는.. 2025. 10. 12.
[Python] 빛과 그림자 : GIL(Global Interpreter Lock) 파헤치기 개요Python은 배우기 쉽고 강력한 언어로 많은 사랑을 받고 있지만, 때로는 성능상의 논쟁에 휩싸이기도 합니다. 그 중심에 바로 GIL(Global Interpreter Lock, 전역 인터프리터 잠금)이 있습니다. GIL은 CPython(가장 일반적인 Python 구현체)의 설계상 제약으로, 단일 프로세스 내에서 한 번에 오직 하나의 스레드만이 Python 바이트코드를 실행할 수 있도록 강제하는 메커니즘입니다. 즉 Python이 멀티코어 CPU를 효율적으로 활용하는 것을 방해하는 병목현상의 주범으로 여겨지기도 합니다. 이 글에서는 이 미스터리한 GIL의 정체, 작동 원리, 그리고 Python 개발에 미치는 영향에 대해 자세히 알아보겠습니다.GIL : 주제 개념 및 용어 정리주제 개념 : GIL(Glo.. 2025. 10. 3.
[Python] 동기(Synchronous) & 비동기(Asynchronous) 개요 개발을 하다보면 꼭 마주치는 개념이 바로 동기와 비동기입니다. API 호출, 파일 입출력, 데이터베이스 쿼리 등 다양한 상황에서 이 개념이 적용됩니다. 처음에는 헷갈리기 쉽지만, 이해해두면 시스템 설계와 성능 최적화에 큰 도움이 됩니다. 동기(Synchronous)Synchronous는 Syn + chrono의 합성어로, Syn은 그리스어로 함께라는 뜻이고, chrono는 시간이라는 뜻이다.동기는 사전적으로 '동시에 일어난다.'라는 의미를 갖고 있습니다. 프로그래밍에서 동기는 작업이 순차적으로 진행되는 것을 의미합니다. 즉 한 작업이 시작되면 해당 작업이 완료될 때까지 다음 작업이 기다려야합니다. 동기 방식은 호출한 함수 또는 작업이 반환될 때까지 대기하는 동안 실행 흐름이 차단되는 특징이 있습니다.. 2025. 9. 20.
728x90
반응형