使用螺纹



我有以下任务:

  1. 从web下载图像
  2. 使用它创建另一个图像
  3. 将图像保存到SD卡并显示

我需要把每一步都转到另一个线程中。看起来,当我完成加载图像时,我需要将其转移到第二个线程中。

经过一番谷歌搜索,我意识到我需要实现每个线程的可调用接口,然后将其与ExecutorService一起使用。问题是我不知道如何将数据从第一个线程传递到第二个线程。

有人能举一个简单的例子吗?感谢

使用BlockingQueue和生产者-消费者模式。

在这种方法中,第一个线程将下载您的图像并将它们放入队列中。第二个线程将等待,直到某个东西出现在队列中,转换图像,并将其放入另一个队列中,第三个线程将进行等待。

阅读我链接到的文章,了解生产者-消费者模式的更多解释和工作示例。

您可以使用java.util.concurrent.Exchanger。这是两个线程可以交换对象的同步点。有关更多详细信息,请参阅http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Exchanger.html

相关内容

  • 没有找到相关文章

最新更新