[면접공부하기]

suye 22·2023년 3월 3일

기술면접 준비하기

목록 보기
11/16

병렬 프로그래밍에 대해 설명해주세요.

  • 서로 독립된 여러개의 프로세스를 이용하여 동시에 처리하게 만드는 프로그래밍 기법이다.

  • 순차적인 직렬프로그램을 분할하고 분할된 단위를 동시에 병렬로 수행함으로써 성능을 향상시키는 프로그래밍 기술이며, 이러한 전반적인 과정을 병렬화라고 한다.

병렬 알고리즘을 기반으로 상호 의존적인 작업 및 변환 시스템에 대한 특정 작업을 도입 할 수 있음.

  • 하나의 프로그램을 하나의 프로세스가 아닌 여러개의 프로세스를 이용하여 동시에 처리하게 만드는 프로그래밍 기법을 말한다.

  • 이렇게 개발하는 이유는? 여러 개의 프로세스를 동시에 활용하여 성능을 향상시키기 위함이다.

  • 기본적으로 하나의 프로세스에서 N개의 쓰레드를 실행하는 멀티쓰레드 와는 다른 개념이다.

  • 순차처리
    - 문제가 일련의 개방 명령어로 나누어져 있다.
    - 명령어들은 순차적으로 하나씩 단일 프로세서에서 실행이 된다.
  • 병렬처리
    - 문제가 동시에 해결할 수 있는 독립적인 부분들로 나눌 수 있다.
    - 부분화된 작업들은 서로 다른 프로세서에서 동시에 실행 된다.
    - 동시에 작업하는 과정은 항상제어와 조정의 알고리즘이 필요하다

멀티 쓰레드 프로그래밍은 IO 관련 처리에서 비약적으로 성능을 향상시켜주는 데 비하여 멀티 프로세스 프로그래밍, 병렬 처리는 CPU 관련 처리에서 비약적으로 성능을 향상시킬 수 있다.

스프링 컨테이너 생성 -> 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 -> 스프링 종료

참고자료
https://linkmemo.tistory.com/175

0개의 댓글