首页 > 解决方案 > Kotlin 特定方式使用协程为队列创建典型的消费者线程

问题描述

假设我有一个后台运行线程,它将使用队列中的事件

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

标签: javamultithreadingkotlinkotlin-coroutines

解决方案


推荐阅读