Stream:
데이터를 연속적으로 흐르는 방식으로 처리한다는 개념으로,
데이터의 입출력을 일종의 bit (or byte) 들의 흐름으로 여겨서 처리하는 것으로 생각하고
이와 같은 방식으로 I/O가 이루어지는 대상을 abstraction(추상화)하여 가리키는데 사용됨.
- 데이터를 일정한 chunk로 나누어 순차적으로 처리
- 대용량 데이터도 효율적으로 다룰 수 있음
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
BME228
Standard I/O Library Standard I/O Library란? 다양한 OS에서 Input/Output(입출력)을 수행할 수 있도록 구현된 라이브러리. 프로그래머는 프로그래밍 과정에서 직접 입출력을 수행하는 코드를 작성하지 않는다
dsaint31.me
https://jcsites.juniata.edu/faculty/rhodes/cs240/fileproc.html
Streams and File I/O
void writeDouble(double v) Converts the double argument to a long using the doubleToLongBits method in class Double, and then writes that long value to the file as an eight-byte quantity, high byte first. (you are not losing the fractional part of the dou
jcsites.juniata.edu
'CE' 카테고리의 다른 글
Tree Traversal (트리 순회): BFS and DFS (2) | 2024.12.02 |
---|---|
[CE] Heap and Complete Binary Tree (0) | 2024.11.16 |
[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 |