亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將一種方法的輸出傳遞給同一線程中的另一種方法

將一種方法的輸出傳遞給同一線程中的另一種方法

瀟瀟雨雨 2021-10-20 11:43:38
我在異步任務的 doinBackround 方法中有兩種方法。第一種方法用于從云數據庫中檢索值。第二種方法用于在 msqlite 中保存值。我的問題是當第二個方法被執行時,第一個方法將無法在需要時產生值,因此 null 被傳遞。請看一下代碼片段。    @Override        protected Void doInBackground(Param... params) {        try {            List<Object> objectlist = mAsyncTaskFireDB.getobjectlist(params[0]);         // Output of this method to be passed into 2nd method.            Object[] listarray = new Object[objectlist.size()];            for(Integer i=0;i<objectlist.size();i++)                {                 listarray[i] = objectlist.get(i);                 }            mCat_messageDao.insertAll(listarray);            // 2nd method : Value of 1st method should come here however               getting null here已經檢查并用谷歌搜索但沒有得到正確的解決方案。我想知道處理這種常見情況的最佳方法是什么。提前感謝您的幫助。
查看完整描述

3 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

你可以看看CompletableFuture API。


您可以輕松地處理需要異步運行,也有任務,他們跑了一前一后,按照上面的步驟到下一個步驟的結果,與方法,如runAsync和thenApplyAsync。使用exceptionally,您還可以僅在前一個任務以異常結束時運行指定的任務。


如果您主要處理并發,這是一個很棒的 API 并且非常有用。


查看完整回答
反對 回復 2021-10-20
  • 3 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號