Stream:
데이터가 연속적으로 흐르는 방식으로 처리한다는 개념으로,
데이터의 입출력을 일종의 bit (or byte) 들의 흐름으로 여겨서 처리하는 것으로 생각하고
이와 같은 방식으로 I/O가 이루어지는 대상 추상화하여 가르키는데 사용됨.
- 데이터를 일정한 chunk로 나누어 순차적으로 처리
- 대용량 데이터도 효율적으로 다룰 수 있음
https://dsaint31.me/mkdocs_site/CE/ch10/ce10_2_04_stdio/#stream-or-io-stream
1. 프로그래밍에서의 stream
- 입력 스트림(Input Stream):
- 데이터를 프로그램으로 가져오는 stream (예: 파일 읽기, 네트워크 수신)
- cli sw 에서 사용하는
stdin
이 대표적인 예.
- 출력 스트림(Output Stream):
- 데이터를 외부로 보내는 흐름 (예: 파일 쓰기, 네트워크 전송)
- cli sw에서 사용하는
stdout
이 대표적인 예.
stream 방식으로 데이터를 순차적으로 처리하는게 일반적임.
이 외에도 stderr
로 대표되는 "표준에러 출력스트림" 도 있으나, 기본적으로 stdout
과 같게 설정된다.
2. 미디어 스트리밍에서의 stream
- 실시간 비디오/오디오 전송 및 재생
- 데이터를 작은 청크로 나누어 전송하며, 사용자에게 실시간으로 재생 가능
- 예시: Netflix, YouTube와 같은 미디어 스트리밍 서비스
주요 특징
- 순차적 처리: 대용량 데이터를 한 번에 처리하지 않음
- 실시간 처리: 실시간 데이터 전송 및 재생에 유리
- 사실 buffer 가 사용되기 때문에 온전한 real time은 아님.
- 입출력 효율성: 파일이나 네트워크를 통해 효율적인 데이터 처리.
같이 보면 좋은 자료들
https://dsaint31.me/mkdocs_site/CE/ch10/ce10_2_04_stdio/#standard-io-library_1
728x90
'CE' 카테고리의 다른 글
[CE] Machine Code와 Microcode의 차이점 비교 및 설명 (0) | 2024.06.05 |
---|---|
[CE] Byte Code (바이트코드) (1) | 2024.06.05 |
[CE] Terms: HDD, Partition, Volume, Drive and File System. (0) | 2024.05.15 |