강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

abc님의 프로필 이미지
abc

작성한 질문수

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

파이썬 멀티 프로세싱, GIL

파이썬은 씨피유 코어를 하나만 사용하는 언어인가요?

작성

·

781

1

병렬성 지원을 안한다고 하셔서 궁금하게 생겼는데요
8코어 cpu를 가지고 있어도 파이썬에서는 무조건 1개의 코어만 사용하게 되는건지 궁금합니다
 

퀴즈

운영체제(OS)에서 프로그램(Program)과 프로세스(Process)의 관계를 가장 잘 설명하는 것은 무엇일까요?

프로세스는 정적인 코드로 저장된 프로그램 자체입니다.

프로세스는 실행을 위해 메모리에 로드되어 운영체제의 관리를 받는 프로그램의 동적 상태입니다.

프로그램은 여러 개의 프로세스로 구성되며, 프로세스는 항상 단일 스레드입니다.

운영체제는 프로그램만 관리하며 프로세스 관리는 사용자에게 맡깁니다.

답변 1

2

아직 이 파트를 듣진 않아서 어떤 의미로 병렬성 지원을 안한다고 하신건지 모르겠지만,(아마 Cpython의 GIL일거 같은데...)

파이썬도 외부(기본)패키지를 사용해 멀티 쓰레딩, 멀티 프로세싱 컴퓨팅이 가능합니다. 하지만

위에 언급한 것처럼 인터프리터를 CPython으로 설정할 경우 멀티 쓰레드 코드를 구현해도 실질적으로는 적용되지 않는다고 합니다.

인터프리터를 바꾸면 스레드를 생성한만큼 사용할 수 있다고 하네요.

그리고 코어 사용은 멀티 프로세스 패키지를 이용해 확장해서 사용할 수 있다고 하고 실제로 병렬 처리 시 멀티 프로세스를 활용한다고 하네요.(참고: https://www.quora.com/How-many-Python-threads-can-I-run)

abc님의 프로필 이미지
abc

작성한 질문수

질문하기