※ Development common sense
프로세스와 스레드
프로세스 ->
- 실행중인 프로그램을 의미.
- 운영체제로부터 자원을 할당받는다.
스레드 ->
- 실쟁 제어만 분리한 것.
- 프로세스로부터 자우너을 할당받고, 프로세스의 코드, 데이터, 힙영역을 공유하기 떄문에 좀 더 효율적으로 통신할 수 있다.
- 캐시메모리를 비우지 않아도 되는 스레드 쪽이 빠르다.
- 한 프로세스 안에 여러개의 스레드가 생성될 수 있다.
동기와 비동기
동기 방식 ->
- 메서드 리턴과 결과를 전달받는 시간이 일치하는 명령 실행 방식.
- 한 함수가 끝나는 시간과 바로 다음의 함수가 시작되는 시간이 같다.
비동기 방식 ->
- 여러 개의 처리가 함께 실행되는 방식.
- 동기 방식에 비해 단위시간 당 많은 작업을 처리할 수 있다.
- CPU나 메모리를 많이 사용하는 작업을 비동기로 처리하게 되면 과부하가 걸릴 수 있습니다.
멀티 스레드 프로그래밍
- 하나의 프로세스에서 여러 개의 스레드를 만들어 자원의 생성과 관리의 중복을 최소화 하는 것.
'CS 백엔드' 카테고리의 다른 글
[DB 이론] Index (with. Django) (0) | 2022.05.24 |
---|---|
[CS] 백엔드 (추가중) - Django, Python (0) | 2022.03.25 |
[CS] 백엔드 (추가중) - 데이터베이스 (0) | 2022.03.25 |
[CS] 백엔드 (추가예정) - 네트워크 (0) | 2022.03.25 |