JAVA 책으로 공부중인데 앞 쪽에 JAVA의 특징으로 멀티스레드가 언급되어 있었습니다
동시성과 병렬성에 대해서도 잠깐 언급되어 있는데
이 두 개념은 봐도봐도 헷갈립니다
그래서 이를 정리해봤습니다
동시성
동시성은 여러 작업이 동시에 진행되는 것처럼 보이게 하는 개념입니다
이는 시간상으로 겹치는 것처럼 보이지만, 실제로는 동시에 실행되지 않을 수 있습니다
프로그램이 여러 작업을 동시에 다루는 것을 통해, 시스템의 응답성을 향상시키고 작업을 더 효율적으로 다룰 수 있습니다
병렬성
병렬성은 여러 작업이 동시에 실행되는 개념으로, 실제로 동시에 여러 작업이 처리됩니다
주로 다중 코어 또는 다중 프로세서 시스템에서 성능을 극대화하기 위해 사용됩니다
차이점
- 실행 방식: 동시성은 하나의 프로세스 내에서 여러 스레드가 번갈아가면 실행되지만 병렬성은 여러 프로세스나 스레드가 동시에 실행됩니다
- 목적: 동시성은 주로 입출력 바운드 작업에 유용하며, 병렬성은 CPU 바운드 작업에 유용합니다
'-- 기타 -- > 일반 개념' 카테고리의 다른 글
[웹 크롤링] 크롤링과 스크래핑 (0) | 2023.12.22 |
---|---|
[개발 문서] 프로그래밍 개발 시 필요한 명세서 종류 (0) | 2023.12.20 |
[객체 지향 프로그래밍] 상속, 캡슐화, 다형성, 추상화 (0) | 2023.12.14 |
[디자인 패턴] MVC 패턴 (1) | 2023.12.11 |
[클린 코드] 세 살 코딩 스타일 여든 간다 (1) | 2023.12.10 |