我有一個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