Queue

»

Queue

큐(Queue) 는 줄을 서서 기다리다, 대기 행렬이란 뜻을 가집니다

Stack과 반대되는 개념입니다 FIFO(First In First Out) 또는 LILO(Last In Last Out) 형태를 가집니다

실생활에선 굉장히 광범위하게 사용됩니다 프린터를 예시로 들어보겠습니다

컴퓨터(출력 버튼) - (임시 기억 장치의) Queue에 하나씩 들어옴 - Queue에 들어온 문서를 순서대로 인쇄

위처럼 동작됩니다

유튜브도 Queue를 사용합니다 영상을 볼때 다운로드 된 데이터가 영상을 재생하기에 충분하지 않다면 동영상을 정상적으로 재생하기 위해 Queue에 모아두었다가 동영상을 재생하기에 충분한 양의 데이터가 모였다면 다시 재생합니다

버퍼

이렇게 컴퓨터 장치들 사이에서 데이터를 주고 받을때 각 장치 사이에 존재하는 속도의 차이나 시간 차이를 극복하기 위해 임시 기억 장치의 자료구조로 Queue를 사용합니다 이것을 버퍼(buffer)라고합니다

버퍼링

대부분의 컴퓨터 장치에서 발생하는 이벤트는 파동 그래프와 같이 불규칙적으로 발생합니다

이에 비해 CPU와 같이 발생한 이벤트를 처리하는 장치는 일정한 처리 속도를 갖습니다

이런 불규칙적으로 발생한 이벤트를 규칙적으로 처리하기 위해 버퍼를 사용합니다