본문 바로가기
개발/자료구조

Queue(큐)란 무엇일까?

by MNMNMNMN 2020. 9. 18.
728x90

"Queue"는 사전적인 의미로는 무엇을 기다리는 줄, 또는 대기 행렬이라고 합니다.

즉 대기열, 기다리는 줄이죠. 마치 일상생활에서의 버스를 기다리는 줄 같은 것입니다.
버스 줄은 새치기를 하지 않는 이상 먼저 기다렸던 사람부터 버스에 타기 시작합니다.

프로그래밍에서도 같은 개념입니다.

그럼 그림으로 나타내보겠습니다.

"Queue"는 이렇게 입력 시 대기열의 마지막에 저장되고 큐에서 대기 중인 것을 순서대로 하나씩 출력시킵니다.

"FIFO(First In First Out)" 자료구조입니다. 말 그대로 먼저 들어온 것이 먼저 나가는 말입니다.

 

Queue는 언제 사용할까요? 바로 어떤 작업을 순서대로 실행시키기 위해 사용됩니다. 

 

예를 들면 턴 제 게임에서 차례대로 1번 스킬 2번 스킬 3번 스킬을 한번에 입력시켰을 때 큐에 저장하고 입력된 순서대로 1번스킬 시전하고 끝이 나면 그다음 2번 스킬 시전...그리고 끝까지 실행합니다.

또 다른 예로는 게임 서버에 로그인 할 때 한번에 많은 접속자가 생길 경우 로그인 대기열이 생깁니다.

이때 생기는 대기열이 바로 Queue입니다.

 

 

 

 

 

 

728x90
반응형

댓글