투케이2K

216. [IT 용어] Blocking 블로킹 과 Non-blocking 논블로킹 용어 설명 - 제어권 본문

IT기술 & IT용어

216. [IT 용어] Blocking 블로킹 과 Non-blocking 논블로킹 용어 설명 - 제어권

투케이2K 2024. 1. 26. 08:20

[제 목]

[IT 용어] Blocking 블로킹 과 Non-blocking 논블로킹 용어 설명 - 제어권

 

[설 명]

 

---------------------------------------------------------------------------------

[1]. Blocking 블로킹 개념 (동기 방식 - 작업 대기)

  - 블로킹 이란 프로그래밍 방식에서 수행 제어권을 넘겨 준 후 특정 I/O 작업 완료 및 리소스를 사용할 수 있게 될 때 까지 이벤트를 기다리고 있는 것 입니다

  - 블로킹 은 제어권을 넘겨 준 후 , 다른 작업이 완료 될 때 까지 대기 후 다시 제어권을 돌려 받아 나머지 작업을 수행합니다

  - 동작 예시 : A 함수 동작 수행 (제어권 가짐)
                  특정 시점에 A 함수에서 B 함수 호출 수행 (제어권 전달)
                  B 함수 동작 수행 (A 함수는 실행 대기 상태)
                  B 함수 동작 완료 및 제어권을 다시 A 함수에게 전달
                  A 함수는 나머지 작업 수행 실시

---------------------------------------------------------------------------------

[2]. Non-blocking 논블로킹 개념 (비동기 방식 - 작업 동시 수행)

  - 논블로킹 이란 동시성 프로그래밍에서는 자원을 경쟁하는 스레드가 자원을 보호하는 상호 배제로 무기한 연기되지 않도록 하기 위해 고려된 알고리즘입니다

  - 논블로킹 은 다른 작업을 호출 함과 동시에 제어권을 가진 원본 함수도 동시 수행을 합니다

  - 논블로킹 은 일반적으로 API 를 호출할 때 사용되며, 호출자가 자원을 사용할 수 있을 때까지 기다리지 않고 다른 작업을 수행할 수 있습니다

  - 동작 예시 : A 함수 동작 수행 (제어권 가짐)
                  특정 시점에 A 함수에서 B 함수 호출 수행
                  A 함수는 B 함수를 호출 한 이후에도 대기하지 않고, A 함수 나머지 작업 수행
                  B 함수는 B 함수대로 로직 처리 수행 실시

---------------------------------------------------------------------------------

 

반응형
Comments