2017-12-13 32 views
3

produce 코 루틴 빌더로 생성 된 생산자를 actor 루틴 빌더로 작성한 액터에 어떻게 연결할 수 있습니까?어떻게 프로듀서를 액터에 연결할 수 있습니까?

기본적으로 producer의 전송 채널을 actor의 수신 채널로하고 싶습니다. 그렇게 할 수있는 간단한 방법이 있습니까?

제작자 나 배우가 사용할 채널을 명시 적으로 지정할 수있는 설명서에서 찾을 수없는 항목이 있습니다.

답변

2

가정하면 다음과 같은 정의 :이 때까지 기다려야합니다

launch { producer.toChannel(actor) } 

:

val producer = produce<T> { ... } 
val actor = actor<T> { ... } 

당신은 당신의 배우에 생산 된 모든 메시지를 전송하는 도우미 코 루틴을 실행하려면 다음 코드를 작성할 수 있습니다 복사 작업이 완료되면 코 루틴에 producer.toChannel(actor)을 간단하게 사용할 수 있습니다. toChannel은 처리가 완료 될 때까지 대기하는 터미널 작업입니다.