如何生成阻塞存储队列

时间:2013-11-07 00:44:54

标签: java android multithreading

我知道我想做什么,而且我知道我希望调用看起来像什么,但我不知道应该使用什么结构来实现这一目标。

我想我有一个想法,但我正在寻找更多的意见。

这里是场景:Android应用程序:IRC客户端。

尝试在服务(工作)和ui(也在工作)之间设置套接字读取循环。

我想要做的是,在连接到阅读器的服务中运行一个阅读线程,并将行添加到某种队列中。我希望UI调用一个服务公开的方法,该方法从队列中取出一行,(如果是重要的那一行),如果队列中没有数据,则阻止。我为什么要做那样的事情?因为UI 在一个线程中运行其读者。所以我有一个线程在服务中运行读取器并向队列添加行,并在UI中运行另一个从队列读取的线程。 (注意:这些都不是实际的主要ui线程)

这两个线程以及运行它们的方式我已经很好了,我只是不知道用于存储数据的结构,或者如何实现它。 BlockingQueue做我需要的,还是我完全误解了?如果不是这样,那么我应该使用什么类型的集合,以及如何实现UI部分的阻塞以使其位于等待更多输入(如果队列为空)?

0 个答案:

没有答案