我正在Java 7中構建程序,並且需要根據不同的下載文件值從後端服務器下載多個文件。在Java中的異步任務中實現繁忙等待
我會解釋:
首先,我的程序下載通過的AsyncTask文件這個文件中包含的文件下載的價值。 onPost方法調用一個不同的方法來下載這些文件,並在將它們處理到我的應用程序數據中之後將它們插入到數組列表中。
現在,爲了創建某種處理這些AsyncTasks的結尾,我創建了一個不同的AsyncTask以創建一個繁忙的等待,考慮到我知道要下載多少個文件,我檢查了它的大小的數組等於while循環中的文件編號。
我的問題是,AsyncTask中的這種繁忙等待是否會禁用操作系統釋放正在運行的處理器的能力,或者無需擔心?
我不希望忙着等待來鎖定處理器,以便更快地下載文件,或者它甚至有影響嗎?
因爲我假設異步任務有它自己的apoc並在需要時進入休眠我假設這種繁忙的等待不會濫用處理器?
需要下載的文件數量是否會影響處理時間?如果是,使用數據下載單個文件是否比多線程下載成幾百個較小的文件更好?
最後,在AsyncTask中編寫我自己的忙等待是否是一個好習慣?
我很快就會添加一些代碼片段...
1.不要忙着等。 2.找到另一個解決方案... :)你的代碼知道什麼時候所有下載都完成了 - 最後一個添加到列表中的列表將看到該列表已滿,並且可以在那裏觸發事件。 – ZhongYu