0

我知道我想做什么,我知道我希望调用看起来像什么,但我不知道我应该使用什么结构来完成这个。

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

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

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

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

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

4

0 回答 0