먼저 간단하게 예시를 들어 보겠다.
- 컴퓨터 → 버거킹
- 프로세스 → 통새우와퍼주니어 세트 (내가 좋아해서... ㅋㅋ)
- 스레드 → 세트를 구성하는 메뉴들 (햄버거, 감튀, 제로콜라)
궁금했던 것과 문제점: 비동기 처리의 효율성은 알고 있었지만 정확하게 필요한 이유를 제대로 설명할 수 없었다.
👀 해답 (비동기 처리를 하는 이유)
→ 프로세스들은 컴퓨터의 자원을 분할해서 사용하지만
스레드들은 프로세스마다 주어진 전체 자원을 함께 사용하기 때문.
→ 이렇게 되면 속도와 효율성은 높아지겠지만,
프로세스 안에서 공유되는 변수에 스레드 여럿이 동시에 접근한다면 시간 문제로 인한 Error가 발생하게 된다.
→ 해결: Closure, Lambda, Functional Programming 등
⇒ 동시성 프로그래밍
'공부 > computer science' 카테고리의 다른 글
[컴퓨터네트워크] 1. 인터넷이란? (1) | 2022.08.06 |
---|---|
override할 때 super를 꼭 붙여줘야 할까? (2) | 2022.04.03 |
예외 처리를 하는 이유 (0) | 2022.03.18 |
JPEG vs PNG (0) | 2022.03.17 |
Encoding (0) | 2022.03.14 |
댓글