concurrency는 여러 작업들이 동시에 일어나는 것을 이야기한다. asynchronous function은 concurrency를 구현하기 위한 방법 중 하나이다. 오래 걸리는 작업들을 함수에 넣어두고, 함수를 호출하면 함수의 동작은 다른 스레드에서 진행시킨다.
combine은 asynchronous event를 처리하는 방법이다. (asynchrony는 앱의 main flow와 무관하게 진행되는 이벤트를 이야기한다.) 직접 thread를 조작하지는 않지만, 네트워크 요청 등의 concurrent한 이벤트들을 처리하는 데에도
Publisher는 시간에 따라 변화하는 값들을 전송해주는 프로토콜이다. 값을 하나만 전달해줄 수도 있고, 여러개 전달해줄 수도 있다. 하나도 전달하지 않을 수도 있다.Publisher는 Output과 Failure, 두 개의 associated type을 갖는다.Ou
Publisher 프로토콜을 직접 구현하는 대신 Combine 프레임워크가 제공하는 타입들을 이용하면 간편하게 Custom Publisher를 구현할 수 있다.Subject 는 값을 외부에서 publish할 수 있는 메서드를 제공하는 Publisher protocol이