我有一个Android项目,我从服务器获取一个令牌用于身份验证,并将其用于进一步查询服务器。令牌大约在10分钟内过期,因此我必须获取新的令牌。我现在的模式是这样的:Android的令牌模式
取令牌当用户第一次启动该应用程序有一个“请稍候”的对话框,所以他不会尝试
2-阻止用户输入从其他activites
3-保存令牌和时间戳发送带有空令牌查询,停止阻止用户输入
4-定期检查时间戳onCreate()
活动方法
5-如有必要,更新。
我的问题是这样的;如果用户打开一个活动并且令牌过期,我的应用程序将再次阻止用户输入并尝试获取该令牌。但是,在后台,应用程序的普通逻辑/流程会继续,并尝试使用旧或空标记向服务器发送查询。
所以我想阻止这个查询任务 - 这是一个AsyncTask
像令牌获取 - 并在令牌获取完成后启动它。我如何使用这种模式,这是一个正确的吗?
让一个线程等待另一个线程完成?
你能提供一个很好的资源对Java并发可能带有大量的实例研究。我已经多次阅读官方的Java教程,但我仍然无法很好地理解它。 –
对不起,这就是我正在使用的。可能有关于这个主题的书籍,但我不知道有什么可以推荐给你的。您也可以在Slideshare上找到一些不错的幻灯片(http://www.slideshare.net/search/slideshow?searchfrom=header&q=java+concurrency)。 – andyandy