1

在我的应用程序中,我想创建在单个队列上工作的多个线程。要创建一个队列,我知道我需要调用Looper.prepare().

我希望我创建的所有其他线程都应该与looper我使用第一个线程创建的线程相关联,我该如何实现呢?

4

1 回答 1

1

使用java.util.concurrent包中的一个 Java 线程安全队列类而不是 Looper 来实现此目标。这是更常见的做法。

在线程之间共享队列并将任务作为一个线程的队列条目发布,然后您可以从另一个线程获取此条目。有了BlockingQueue你就可以轻松地做到这一点 - 在一个线程中只需调用 take() ,它将阻塞线程,直到另一个线程 put() 一些条目进入队列。就这样。

生产者消费者模式示例

BlockingQueueConcurrentLinkedQueue

关于阻塞队列

在此处输入图像描述

于 2014-09-11T07:14:35.653 回答