Kotlin указать c способ использования сопрограмм для создания типичного потока потребителя для очереди - PullRequest
0 голосов
/ 26 марта 2020

Предположим, у меня есть фоновый работающий поток, который будет принимать события из очереди

public class Consumer implements Runnable {
    BlockingQueue<Object> queue = new LinkedBlockingQueue<>();
    @Override
    public void run() {
        while (!Thread.currentThread().isInterrupted()) {
            queue.take();
        }
    }
}

Я знаю, что можно реализовать это просто так, но есть ли причудливый способ сделать то же самое, используя kotlin сопрограмм? Я искал его, но не смог ничего найти.

В kotlin Я также хотел бы использовать Channel<E> из библиотеки сопрограмм вместо BlockingQueues, если это возможно ,

...