해결된 질문
작성
·
372
0
안녕하세요, 늘 좋은 강의 감사드립니다.
강의 중 Process=Program 이라고 생각하면 된다고 하셨는데,
하나의 Application Program을 설계 할 때 동시에 수행되어야 하는 task에 대해 multi-process로 동작하도록 할 것 인가 multi-thread로 동작하도록 할 것 인가는 설계자의 선택의 문제인가요?
Process=Program 개념으로 생각하면 설계자 입장에서 하나의 Application Program 내에 여러개의 Process를 만드는 것은 불가능 한 것인가? 이렇게 생각이 들기도 하는데 궁금해서 여쭤봅니다.
답변 1
1
네, 그렇습니다. 특히 GUI가 있는 경우와 없는 경우도 생각해야 합니다. 한 프로그램을 여러 프로세스로 구성하는 경우는 생각보다 많습니다. 다만 한 프로그램에 대해 같은 프로세스가 여럿 존재하는 경우는 경험하지 못했습니다. 가령 Word나 PPT처럼 문서 편집 도구라면 한 프로그램에 대해 여러 프로세스가 존재하더라도 그 각각이 개별 문서 데이터를 로드하고 있는 독립적인 프로세스로 구성됩니다. 그러가 문서 하나를 위해 PPT 프로세스가 2개 이상 실행되어야 할 이유는 없다고 보는 것이 좋겠습니다.
다만 웹 브라우저의 경우 내부 구성요소(기능)들이 개별 프로세스로 로딩되기도 합니다. 예를 들어 어떤 페이지 하나에 접속했을 때 눈에 보이는 브라우저는 1개뿐이라 해도 내부적으로는 2~3개가 실행 중일 수 있습니다.
결론은...불가능이라기 보다 개발자의 선택이 맞겠습니다. 어떤 구조가 더 적절한 것인지 판단하고 그에 맞는 구조를 택하면 되겠습니다. 감사합니다.