인프런 커뮤니티 질문&답변
파이썬은 씨피유 코어를 하나만 사용하는 언어인가요?
작성
·
781
퀴즈
운영체제(OS)에서 프로그램(Program)과 프로세스(Process)의 관계를 가장 잘 설명하는 것은 무엇일까요?
프로세스는 정적인 코드로 저장된 프로그램 자체입니다.
프로세스는 실행을 위해 메모리에 로드되어 운영체제의 관리를 받는 프로그램의 동적 상태입니다.
프로그램은 여러 개의 프로세스로 구성되며, 프로세스는 항상 단일 스레드입니다.
운영체제는 프로그램만 관리하며 프로세스 관리는 사용자에게 맡깁니다.
답변 1
2
아직 이 파트를 듣진 않아서 어떤 의미로 병렬성 지원을 안한다고 하신건지 모르겠지만,(아마 Cpython의 GIL일거 같은데...)
파이썬도 외부(기본)패키지를 사용해 멀티 쓰레딩, 멀티 프로세싱 컴퓨팅이 가능합니다. 하지만
위에 언급한 것처럼 인터프리터를 CPython으로 설정할 경우 멀티 쓰레드 코드를 구현해도 실질적으로는 적용되지 않는다고 합니다.
인터프리터를 바꾸면 스레드를 생성한만큼 사용할 수 있다고 하네요.
그리고 코어 사용은 멀티 프로세스 패키지를 이용해 확장해서 사용할 수 있다고 하고 실제로 병렬 처리 시 멀티 프로세스를 활용한다고 하네요.(참고: https://www.quora.com/How-many-Python-threads-can-I-run)





