【发布时间】:2016-07-04 20:26:18
【问题描述】:
我正在开发一个使用 Gmail API 同步用户电子邮件的 Android 应用程序。
为此,我实施了两项服务,第一项用于下载未读电子邮件,第二项用于下载已读电子邮件。每个服务都实现了 Runnable 接口,用于检索电子邮件并将其存储在数据库中的代码是使用 Run() 方法中的线程处理的。
一切正常,我唯一的问题是,当负责下载已读电子邮件的线程正在运行时(比另一个需要更长的时间),第二个线程(同步未读电子邮件)被阻止,直到第一个线程完成。
我想知道是否无论如何我可以将第二个线程优先于第一个线程,所以每当第一个线程正在运行并且第二个线程必须运行时,代码应该暂停第二个线程直到第一个线程一封(未读电子邮件)完成运行,然后恢复暂停的线程。
问候。
【问题讨论】:
标签: java android multithreading email parallel-processing