在我的应用程序中,我想创建在单个队列上工作的多个线程。要创建队列,我知道我需要调用Looper.prepare()
。
我希望我创建的所有其他线程都应该与我使用第一个线程创建的looper
相关联,我该如何实现?
答案 0 :(得分:1)
使用java.util.concurrent
包中的一个Java线程安全队列类而不是Looper来实现此目标。这是更常见的做法。
在线程之间共享队列并将任务作为一个线程的队列条目发布,然后您可以从另一个线程获取此条目。使用BlockingQueue
,你可以轻松地完成它 - 在一个线程中只调用take(),它将阻塞线程,直到另一个线程将()一些条目放入队列。就是这样。
Producer Consumer pattern example
BlockingQueue或ConcurrentLinkedQueue