멀티스레딩 2

ThreadPoolExecutor 내부 구조 분석(큐를 활용한 멀티스레딩)

배경멀티 스레딩에 이해가 부족해서, ThreadPoolExecutor의 내부 구조를 알아보고자함분석요약 : ThreadPoolExecutor`는 Python의 표준 라이브러리에서 제공하는 멀티스레딩 도구로, 여러 스레드가 동시에 작업을 실행할 수 있도록 관리하는 역할을 함. 각 스레드가 작업 큐에서 작업을 가져와 수행하고, 스레드 풀이 종료될 때까지 작업을 처리하는게 기본적인 흐름초기화 단계ThreadPoolExecutor가 생성될 때, 최대 스레드 수, 작업 큐, 세마포어 등이 설정됩니다.max_workers 인자로 최대 스레드 수를 설정하며, 지정하지 않으면 시스템 CPU 코어 수 + 4 또는 최대 32로 기본 설정됩니다.초기화 함수(initializer)와 초기화 인자(initargs)가 제공되면,..

병렬 처리 몇 가지와 사용처

조사하게된 배경https://makenow90.tistory.com/66병렬 처리의 세 가지 주요 개념: 비동기 처리, 멀티스레드, 멀티코어병렬 처리는 작업의 특성에 따라 적합한 방식이 다릅니다. I/O 병렬 처리는 주로 입출력 대기 시간이 많은 작업에서, 멀티스레드는 경량 작업이나 I/O 바운드 작업에서, 그리고 멀티코어는 CPU 집약적인 작업에서 각각 효율적입니다. 여기에서는 각 방식의 특징과, 적절한 코드 예시를 설명하겠습니다.1. 비동기 처리 비동기 처리란, 작업이 완료될 때까지 기다리지 않고 다른 작업을 계속 진행하는 방식을 의미합니다.이는 I/O 작업, 네트워크 요청, 파일 읽기/쓰기 등 대기 시간이 발생하는 작업에서 효율적으로 사용됩니다.Python에서는 asyncio, aiohttp, **..