스트림(Stream)은 데이터 흐름을 의미한다.
데이터 흐름은 단방향 이며 한 번에 일부 데이터를 처리한다.
즉, 데이터를 한 번에 몽땅 처리하는 것이 아닌, 하나씩 또는 여러 개씩 일정한 간격으로 생성되어 이를 연속적으로 처리하는 방식을 스트림이라고 칭한다.
스트림은 많은 데이터를 처리하는 경우 용이하다.
또한, 여러 개의 데이터를 처리할 때 코드의 가독성과 유지보수성이 좋아진다.
→ 실시간으로 데이터를 처리하고, 데이터가 발생하는 즉시 처리할 수 있다!
→ 이러한 특성 때문에 대규모 데이터 처리에 매우 유용하다.
: 순서가 있고 비동기적으로 생성된 요소들의 Sequence 이다.
기존 Sequence 를 생성하기 위해선 반복자(IteratorProtocol)를 직접 정의해야했다.
하지만 AsyncStream은 AsyncSequence를 준수하여 이터레이터를 직접 구현할 필요 없이 간편하게 사용할 수 있다.
⭐ 제일 큰 이점이 AsyncStream 은 클로저 형태로 사용된다!