일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹개발
- node.js
- gitbash
- 써니나타스
- 뷰
- 포렌식워게임
- MongoDB
- 자바기초
- 자바문제풀이
- materialize
- 이진탐색트리
- 워게임
- NavBar
- GIT
- 그래프
- 웹해킹기초
- 이진트리
- 워게임추천
- 웹기초
- Express
- 웹해킹
- bootstrap
- 포렌식
- mongoose
- node
- 자바
- 자료구조
- wargame.kr
- nodeJS
- CTF
- Today
- Total
보안 전공생의 공부
프로세스(process) vs 스레드(thread) 본문
(참조 : allhpy35.tistory.com/34 m.blog.naver.com/seban21/70103183454 gmlwjd9405.github.io/2018/09/14/process-vs-thread.html )
□ 프로그램(program) : 어떤 작업을 위해 실행시키는 파일
◆ 프로세스(process) : 프로그램을 실행하고 있는 상태
- 구성 : 프로그램 수행에 필요한 데이터, 메모리 등의 자원 + 스레드
- 프로세스는 각각 독립된 메모리 영역(code, data, stack, heap 구조)을 할당받음
- 자바의 runtime 환경과 밀접한 관계를 지님
∵ 자바의 runtime 환경은 프로세스가 실행될 수 있는 기반 환경을 제공해 줌
- 다른 프로세스 생성 가능 -> 부모 프로세스 - 자식 프로세스
☞ 하나의 자바 프로그램에서 다른 프로그램을 실행시키고자 할 때 사용됨
▶ 멀티 프로세스 : 하나의 응용프로그램을 여러 개의 프로세스로 구성해 각 프로세스가 하나의 작업을 처리하도록 하는 것
- 장점 : 여러 개의 자식 프로세스 中 하나에 문제 발생 -> 그 자식 프로세스만 죽는 것 이상으로 다른 영향 확산 X
- 단점 : 프로세스 사이의 어렵고 복잡한 통신기법
context switching에서 오버헤드
( context switching : CPU에서 여러 프로세스를 돌아가며 작업을 처리하는 과정 )
◆ 스레드(thread) : 프로세스 내에서 실행되는 여러 흐름의 단위
프로세스의 자원을 이용해 실제로 자업을 수행하는 역할
- 프로세스 내에서 각각 stack만 따로 할당받고 code, data, heap영역은 공유함
- 모든 프로세스에는 최소 하나 이상의 thread가 존재 !
▶ 멀티 스레드 : 하나의 응용프로그램을 여러 개의 스레드로 구성해 각 스레드가 하나의 작업을 처리하도록 하는 것
- 장점 : 자원의 효율성 증대, 시스템 처리량 증가
- 단점 : 자원 공유 문제 발생 (동기화 문제)
프로세스 밖에서 스레드 각각을 제어 불가
'Language > JAVA' 카테고리의 다른 글
인터페이스 (0) | 2021.02.23 |
---|---|
문제풀이 (0) | 2021.02.15 |
상속, 다형성, 추상 클래스 (0) | 2021.02.14 |
클래스 관련 문제풀이 (0) | 2021.01.31 |
클래스(2) | 접근 제어자, 정적변수·메소드 (0) | 2021.01.31 |