Изучение канала сопрограмм Kotlin: методы и примеры эффективного общения

  1. send(element: E): отправляет элемент в канал.

    val channel = Channel<Int>()
    val element = 42
    channel.send(element)
  2. receive(): E: получает элемент из канала.

    val channel = Channel<Int>()
    val element = channel.receive()
  3. offer(element: E): Boolean: предлагает элемент каналу, возвращая true, если элемент был отправлен успешно, или false, если канал переполнен.

    val channel = Channel<Int>(capacity = 5)
    val element = 42
    val sentSuccessfully = channel.offer(element)
  4. poll(): E?: извлекает элемент из канала или null, если канал пуст.

    val channel = Channel<Int>()
    val element = channel.poll()
  5. close(): закрывает канал, указывая, что элементы больше отправляться не будут. Получатели получат все оставшиеся элементы и затем завершат работу.

    val channel = Channel<Int>()
    channel.close()
  6. isClosedForSend(): Boolean: проверяет, закрыт ли канал для отправки.

    val channel = Channel<Int>()
    val isClosed = channel.isClosedForSend()
  7. isClosedForReceive(): Boolean: проверяет, закрыт ли канал для приема.

    val channel = Channel<Int>()
    val isClosed = channel.isClosedForReceive()

Это некоторые часто используемые методы, предоставляемые классом Kotlin Coroutine Channel.