스트림(Stream) 버퍼(Buffer)

sooyoung159·2022년 2월 21일
0

CS

목록 보기
1/1

주제


영상을 시청할 때 버퍼링, 스트리밍이라는 말을 종종 들어봤을 것이다. 영상을 로딩할 대 버퍼링을 한다고 하고, 실시간으로 송출할 때 스트리밍이라고 한다. 파일을 읽거나 쓰는 방식 버퍼, 스트림을 알아보자.


스트림과 버퍼


스트림이란 ?

스트림이란 배열이나 문자열 같은 데이터를 운반하는 사용되는 연경통로, 데이터의 흐름이다. 자료를 입출력하기 위해 사용하며 프로그램과 입출력 장치 사이에서 자료들을 중계하는 역할을 담당한다고 생각하면 된다. 하지만 스트림이란 말처럼 흐르기 때문에 단방향 통신이며 입출력 동시에 수행하려면 2개의 스트림이 필요하다.

버퍼란?

입력 속도에 비해 출력속도가 느린경우 데이터를 임시로 정장할 수 있는 공간이다. 용량이 큰 데이터를 한번에 전송 하지 못하니 특정 단위(buffer)만큼 데이터를 담아서 전송한다. 입출력 속도 차이에 의한 성능저하의 보완수단으로 사용한다.

데이터가 크지 않다면 스트림 되는 즉시 프로그램에서 데이터를 처리 하겠지만 유튜브 영상 같은 대용량의 데이터를 서버로 부터 가져오려면 많은 시간이 걸린다. 이때 데이터를 버퍼로 전송하고 버퍼가 가득차면 버퍼의 내용이 스트림 된다.

0개의 댓글