병렬 프로그래밍(Parallel Programming)은 직렬 프로그램을 스레드로 분할하여 동시에 병렬로 수행함으로써
성능을 향상시키는 프로그래밍 패러다임입니다.
1. 병렬 프로그래밍의 장점
- 멀티 프로세서를 활용해서 자원을 효과적으로 이용하고 처리 속도를 높일 수 있습니다.
- 작업 모델링이 단순해져서 버그가 발생하는 빈도를 낮출 수 있습니다.
- 이벤트 스레드를 이용해서 프로그램의 반응성을 향상시킬 수 있습니다.
2. 병렬 프로그래밍의 단점
- 스레드 안정성 문제 : 스레드 간의 동기화에 유의해야 합니다.
- 활동성 위험 : 어떤 스레드도 작업이 불가능한 데드락(Deadlock) 문제가 발생합니다.
- 성능 저하 : 스레드의 갯수가 너무 많아지면 컨텍스트 스위칭이 빈번하게 발생합니다.
참조
[병렬프로그래밍] 자바 병렬 프로그래밍 소개
자바에서 제공하는 저수준의 도구와 설계 수준의 정책 간 차이점을 극복할 수 있도록 병렬 프로그램을 작성하는데 필요한 간결한 규칙이 필요합니다. 자바 메모리 모델의 깊숙한 부분까지 이해
12bme.tistory.com
[Java] 자바 병렬 프로그래밍 - 멀티 스레드의 장단점
복잡한 프로그램이 제대로 동작하도록 코드를 작성하는 일은 어렵다. 하지만 그 복잡한 프로그램이 빠르면서 제대로 동작하도록 작성하는 것은 더욱 어렵다. 즉, 어떤 작업들을 순차적으로 실
hbase.tistory.com
'기술면접' 카테고리의 다른 글
| CORS (0) | 2023.04.07 |
|---|---|
| RDB와 NoSQL (0) | 2023.04.06 |
| 오버로딩과 오버라이딩 (0) | 2023.04.05 |
| 시간복잡도와 공간복잡도 (0) | 2023.04.05 |
| 프로그래밍 패러다임의 종류 (0) | 2023.04.04 |