Как определить актера как класс в Котлине - PullRequest
2 голосов
/ 18 июня 2019

В библиотеке сопрограмм Kotlin есть понятие actor:

fun CoroutineScope.counterActor() = actor<CounterMsg> {
    var counter = 0 // actor state
    for (msg in channel) { // iterate over incoming messages
        when (msg) {
            is IncCounter -> counter++
            is GetCounter -> msg.response.complete(counter)
        }
    }
}

В документации сказано, что

Простой актер может быть записан как функция, ноактер со сложным состоянием лучше подходит для класса.

Что может быть хорошим примером актера, определенного как класс в Котлине?

...