본문 바로가기

기술면접

병렬 프로그래밍

병렬 프로그래밍(Parallel Programming)은 직렬 프로그램을 스레드로 분할하여 동시에 병렬로 수행함으로써

성능을 향상시키는 프로그래밍 패러다임입니다.

 

1. 병렬 프로그래밍의 장점

- 멀티 프로세서를 활용해서 자원을 효과적으로 이용하고 처리 속도를 높일 수 있습니다.

- 작업 모델링이 단순해져서 버그가 발생하는 빈도를 낮출 수 있습니다.

- 이벤트 스레드를 이용해서 프로그램의 반응성을 향상시킬 수 있습니다.

 

2. 병렬 프로그래밍의 단점

- 스레드 안정성 문제 : 스레드 간의 동기화에 유의해야 합니다.

- 활동성 위험 : 어떤 스레드도 작업이 불가능한 데드락(Deadlock) 문제가 발생합니다.

- 성능 저하 : 스레드의 갯수가 너무 많아지면 컨텍스트 스위칭이 빈번하게 발생합니다.

 

참조

https://12bme.tistory.com/63

 

[병렬프로그래밍] 자바 병렬 프로그래밍 소개

자바에서 제공하는 저수준의 도구와 설계 수준의 정책 간 차이점을 극복할 수 있도록 병렬 프로그램을 작성하는데 필요한 간결한 규칙이 필요합니다. 자바 메모리 모델의 깊숙한 부분까지 이해

12bme.tistory.com

https://hbase.tistory.com/308

 

[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