목록Stream (2)
study record
1. Stream이란? 스트림(Stream)이란 데이터의 흐름을 의미한다. 이러한 데이터 흐름은 단방향이며, 한번에 일부 데이터를 처리한다. 즉, 데이터를 한번에 모두 처리하지 않고, 데이터가 하나씩 또는 여러 개씩 일정한 간격으로 생성되어 이를 연속적으로 처리하는 방식이다. 스트림은 많은 데이터를 처리하는 경우 유용하며, 여러 개의 데이터를 처리할 때 코드의 가독성과 유지보수성이 좋아진다. 스트림은 실시간으로 데이터를 처리하고, 데이터가 발생하는 즉시 처리할 수 있어 대규모 데이터 처리에 유용하다. 2. AsyncStream이란? An asynchronous sequence generated from a closure that calls a continuation to produce new elemen..
Custom Asynchronous Sequences를 만드는 방법 첫번째 AsyncSequence와 AsyncIteratorProtocol 둘 다를 채택해서 구현 - makeAsyncIterator() 구현 - next async thorws() 구현 두번째 방법 -> AsyncStream - AsyncStream은 AsyncSequence를 채택한다. - AsyncSequence로부터 기본 행동들을 다 상속한다. - 싱글 클로저로부터 값들 produce - sequence의 끝에 값이나 nil을 리턴하는 클로저를 가지는 방법과, continuation을 활용하는 방법이 있다. 🧪 AsyncStream 안의 비동기 메소드 구현에 Task는 꼭 필요한가? let stream = AsyncStream { ..