기록 저장소
프로세스(Process)와 스레드(Thread) 본문
1. 프로세스(Process)
- 운영체제에서 실행 중인 하나의 애플리케이션을 말한다.
- 1개 이상의 스레드를 가진다.
- 프로세스는 운영체제로부터 각 독립된 메모리 영역을 할당받기에, 멀티 프로세스에서 다른 프로세스의 변수나 자료구조에 접근하기 위해서는 프로세스간의 통신(IPC)을 이용해야 하며, 오류 또한 다른 프로세스에 영향을 미치지 않는다.
2. 스레드(Thread)
- 프로세스가 할당 받은 자원을 이용하는 하나의 실행흐름을 말한다.
- 하나의 프로세스 내부에 생성되는 멀티 스레드는 프로세스가 운영체제로부터 할당받은 자원을 서로 공유하기에, 프로세스간의 통신에 비해 간편하고 효율적으로 통신할 수 있으며, 하나의 스레드가 발생시킨 예외는 다른 스레드에게도 영향을 미친다.
[ 참고 ]
* IPC(Inter Process Communication)
- 프로세스 사이의 통신. 파이프, 파일, 소켓 등을 이용함
* 비동기, 병렬성, 동시성
- 병렬성, 동시성 프로그래밍은 모두 비동기적으로 구현 가능함. 단, 병렬성은 물리적 개념이기에 멀티 코어 환경에서만 비동기적인 구현이 가능함
- https://baked-corn.tistory.com/134
[iOS Boostcourse] 동시성과 병렬성 그리고 비동기 프로그래밍
[iOS Boostcourse] 동시성과 병렬성 그리고 비동기 프로그래밍 이전에 운영체제 과목을 수강하면서 공부했던 내용입니다. 당시에도 굉장히 비중있게 공부했던 부분이라 이번 부스트코스를 통해 다시 공부를 하게..
baked-corn.tistory.com
- https://www.edwith.org/boostcourse-ios/lecture/16866/
[LECTURE] 1) 동시성 프로그래밍과 비동기 프로그래밍 : edwith
동시성 프로그래밍, 병렬성 프로그래밍과 비동기 프로그래밍 처음부터 이 모든 개념을 상세히 이해하기는 어렵습니다. 서로의 개념이 완전히 별개의 개념도 아니고, 그렇다고 같은 개념도 ... - 부스트코스
www.edwith.org
* 병행(Concurrency)과 병렬(Parallelism)
- 병행은 프로그램, 병렬은 기계의 성질을 말함
- https://12bme.tistory.com/184
[프로그래밍] Concurrency, Parallelism 차이
Concurrency(병행성) 그리고 Parallelism(병렬성) 포스팅 원본출처는 http://egloos.zum.com/minjang/v/2517211 입니다. Concurrency는 프로그램의 성질이고 parallel execution은 기계의 성질이다. Concurrenty i..
12bme.tistory.com
* 교착상태(Dead Lock)
- 둘 이상의 프로세스(or 스레드)들이 자원을 점유한 상태에서 서로 다른 프로세스(or 스레드)가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
- https://webie.tistory.com/99
교착상태(deadlock)와 그 해결방안을 알아보자.
심심하니 학창시절 배웠던 전공에 대해 살짝 리뷰. 되도록 쉽게... 초딩...은 좀 무리고, 중딩 수준에서 이해할 수 있도록 설명해 보는 것이 이 글의 목표! 배경 : 다중프로그래밍 환경의 등장! 데드락을 제대로..
webie.tistory.com
* References
- https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html
[OS] 프로세스와 스레드의 차이 - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
'Note > 개념정리' 카테고리의 다른 글
추상클래스와 인터페이스 (0) | 2019.08.17 |
---|---|
오버로딩(Overloading)과 오버라이딩(Overriding) (0) | 2019.08.15 |
자바(Java)의 특징 (0) | 2019.08.14 |
Parsing & Parser (0) | 2019.05.14 |
객체와 인스턴스 (0) | 2019.04.05 |