일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 마이크로서비스아키택처
- 멀티프로세스
- Arrays.sort()
- oop 4대 특성
- 클래스삭제
- 타입오류
- 객체지향 5대 특징
- 배열오름차순정렬
- 분산형 아키택처
- 회원가입기능
- jquery
- flask
- 함수지향
- 프로그래머스
- 의존역적원칙
- 4-Way Handshake
- 클래스추가
- 로그인기능 #
- 객체지향
- 빅오표기법
- CORS
- AttributeError
- 토글기능
- nat inside
- MSA
- 향상된 for문
- 비절차형 언어
- 3-Way Handshake
- soild
- 의존성주입
- Today
- Total
개발하는 체대생
프로세스와 스레드 본문
질문 : 프로세스와 스레드의 차이에 대해 설명해 주세요.
답변 : 프로세스는 컴퓨터에서 실행 중인 프로그램으로서 각자 독립적인 실행 환경을 가지고 실행되며, 서로 메모리를 공유하지 않는 반면, 스레드는 프로세스 내에서 실행되는 여러 실행 단위 중 하나로서 부모 프로세스의 메모리를 공유합니다.
프로세스(Process)
프로세스는 컴퓨터에서 실행 중인 프로그램을 의미합니다.
프로세스는 프로그램을 실행하는 데 필요한 메모리, CPU 시간, 파일, 네트워크 연결 등의 자원을 운영체제로부터 독립적으로 할당받아 실행됩니다.
예를 들어 컴퓨터에서 워드 프로그램을 실행한다고 가정했을 때, 컴퓨터는 워드 프로그램을 실행하기 위해 새로운 프로세스를 생성하고 이 프로세서는 메모리에서 실행되기 위해 필요한 데이터와 코드, 스택 등을 가지고 있게 됩니다. 또한 이 프로세스는 워드프로그램을 실행할 때 CPU와 메모리, 디스크 등을 할당 받게 되고 워드 프로그램에서 작업이 일어날 경우 할당 받은 해당 프로세스에서 작업이 실행되게 됩니다.
스레드(Thread)
스레드는 프로세스 내에서 실행되는 작업 단위입니다.
하나의 프로세스 내에서 여러 개의 스레드를 생성할 수 있습니다. 이 스레드들은 프로세스 내에서 자원을 공유하며, 각각 독립적인 실행 흐름을 가지고 작업을 처리합니다.
다시 워드 프로그램을 예시로 들면 워드 프로그램은 여러개의 스레드를 가지고 있을 수 있습니다. 예를 들어, 사용자가 문서를 작성하면 동시에 스타일을 변경하거나 이미지를 삽입하는 작업 발생할 수 있습니다. 이 때 각각의 작업은 스레드로 분리되어 동시에 처리될 수 있습니다. 이렇게 스레드를 사용하면 여러 작업을 동시에 처리할 수 있어 워드를 작성할 때 빠르게 작성할 수 있습니다.
결론
프로세스는 컴퓨터에서 실행 중인 프로그램을 의미하고 스레드는 프로세스 내에서 실행되는 작업 단위를 의미합니다.
'취업스터디' 카테고리의 다른 글
멀티쓰레드(Multi-thread)와 멀티프로세스(Multi-process) (0) | 2023.04.01 |
---|---|
TCP와 UDP (3-way handshake, 4-way handshake) (0) | 2023.03.31 |
Parameter(매개변수)와 Argument(인자) (0) | 2023.03.30 |
자료구조 List, Set, Map, HashMap (0) | 2023.03.30 |
제네릭이란? (0) | 2023.03.29 |