我知道我想做什么,而且我知道我希望调用看起来像什么,但我不知道应该使用什么结构来实现这一目标。
我想我有一个想法,但我正在寻找更多的意见。
这里是场景:Android应用程序:IRC客户端。
尝试在服务(工作)和ui(也在工作)之间设置套接字读取循环。
我想要做的是,在连接到阅读器的服务中运行一个阅读线程,并将行添加到某种队列中。我希望UI调用一个服务公开的方法,该方法从队列中取出一行,(如果是重要的那一行),如果队列中没有数据,则阻止。我为什么要做那样的事情?因为UI 也在一个线程中运行其读者。所以我有一个线程在服务中运行读取器并向队列添加行,并在UI中运行另一个从队列读取的线程。 (注意:这些都不是实际的主要ui线程)
这两个线程以及运行它们的方式我已经很好了,我只是不知道用于存储数据的结构,或者如何实现它。 BlockingQueue
做我需要的,还是我完全误解了?如果不是这样,那么我应该使用什么类型的集合,以及如何实现UI部分的阻塞以使其位于等待更多输入(如果队列为空)?