프로그램 실행 모델

(2026-03-17)

동기식 프로그래밍 모델, 비 동기식 프로그래밍 모델


1. 프로그래밍 모델(방식) 구분

  ㅇ 실행 방식 (Execution Model)  :  ("코드가 언제 실행되는가"의 문제)
     - 동기식 프로그래밍 모델
        . 프로그램 수행이 순차적이어서, 현재 코드 실행이 완료되어야 다음 코드가 실행되는 방식
           .. 즉, 앞뒤 시간 순서 관계가 있음
     - 비동기식 프로그래밍 모델
        . 프로그램 수행이 순차적이지 않고, 이벤트 발생시 마다 그때그때 수행하는 방식
           .. 즉, 앞뒤 시간 순서 관계가 필요 없는 이벤트 구동 방식(event-driven)에 적용됨
        . 완료를 기다리지 않고, 즉시 다음 코드 실행하며, 결과는 나중에 처리

     * 이 두 극단적인 프로그래밍 모델은,
        . 코드 작성 방식이 다르며, 섞어쓸 때는 주의가 필요함

  ㅇ 병렬 처리 방식 (Concurrency Model)  :  ("누가 실행하는가"의 문제)
     - 단일 스레드
        . 하나의 실행 흐름
        . 순차 처리 (단, 비동기라도 동시성 구현이 가능)
           .. (단일 스레드비동기 + 이벤트 루프동시성 가능)
     - 멀티 스레드
        . 여러 실행 흐름을 병렬/동시 실행
        . 성능 향상 가능하지만 복잡성 증가

  ㅇ 한편, 스레드 기반 프로그래밍은, 
     - 여러 스레드를 동시에 제어해야 함
     - 이에따라, 
        . 동기화 문제 발생
        . 경쟁 상태 (race condition)
        . 교착 상태 (deadlock)
        . 기아 상태 (starvation)
     - 이깉은 문제들로, 프로그램 복잡도 및 개발 부담 증가 (프로그래머 부담이 큼)

프로그래밍 기타일반
1. 프로그래밍 기타 용어   2. 래퍼 함수   3. 핸들   4. 단락 평가   5. 템플릿   6. 히어 도큐먼트   7. 람다 표현식, 익명 함수   8. 부수 효과   9. 메모이제이션   10. 프로그램 실행 모델 (동기식, 비동기식)   11. 데코레이션  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]



Notice: Undefined index: HTTP_REFERER in C:\htdocs\cjb\stat_utils.php on line 17