我目前正在用Java編寫的Android項目。 我有一個儀表板,可以查詢雲數據庫中的數據並在圖表上呈現數據。但數據必須在收到時處理。
我有4個AsyncTasks,在doInBackground覆蓋方法同時處理接收到的數據(或者是應該)。這個過程非常緩慢,我試過究竟做線程的優先級做在Java中
Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
在每個AsyncTask中。
然而,4個AsynkTasks似乎一切發生一前一後,是由於改變線程最高的優先級?當一個線程優先級被改變時,它是否會停止所有其他線程並繼續執行,直到完成?
從上'Thread'的JavaDoc:「每個線程都有具有更高優先級的線程優先與執行線程的優先級。較低的優先級。「 – Thomas
即使更改優先級,除非他們是真正的小任務,他們應該仍然表現出一定程度的並行性。發佈更多代碼以查看其他地方是否存在某種錯誤。 – bracco23