Android - 如何并行运行多个线程

时间:2016-07-04 20:26:19

标签: java android multithreading email parallel-processing

我正在开发一个Android应用程序,它使用Gmail API同步用户的电子邮件。

为此,我实施了两项服务,其中第一项是下载未读电子邮件,第二项是下载阅读电子邮件。每个服务都实现了Runnable接口,并且使用Run()方法内的线程处理用于检索电子邮件并将它们存储在数据库中的代码。

一切正常我唯一的问题是,当负责下载阅读电子邮件的线程正在运行时(比另一个需要更长时间),第二个线程(同步未读电子邮件)将被阻止,直到完成第一个线程。 / p>

我想知道是否有任何方式我可以优先考虑第二个线程超过第一个线程,所以每当第一个线程运行并且第二个线程必须运行时,代码应该保持第二个线程直到第一个线程一个(未读电子邮件)完成运行,然后恢复保留的线程。

问候。

1 个答案:

答案 0 :(得分:3)

如果您想创建一个运行时间很短的第二个服务,我建议您学习AsyncTask,但如果您希望创建一个不断运行的服务,则需要使用java.util。并发API(Executor,ThreadpoolExecutor)。希望我能帮到你,但是通过一些阅读,你可以获得更多关于多线程应用的知识。如果您需要更多帮助,请告诉我!