看板 AndroidDev 關於我們 聯絡資訊
最近用到平行程式 想請教兩個問題 第一個問題是 我用 AsyncTask 開五個 加上 原本的main thread 下去跑, (總共六個thread跑)跑出來的時間竟然比沒有用Async Task 還慢..... PS:真得有平行在跑 有看system.out 請問有人有遇到同樣的問題嗎? 搞不懂為甚麼開thread 會 跑得比較慢? 請問該如何加快呢? 第二個問題是 請問有前輩可以分享一下用平行計算的經驗嗎? 感激 -- I like people= ) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.234.143 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1404922453.A.59C.html
Deltaguita:何必一次開6個呢? 開一個在背景跑就好了啊 07/10 00:16
Deltaguita:AsyncTask 是為了不影響UI Thread而使用的 07/10 00:16
typepeter:Async是不會block main thread, 不代表會比較快 07/10 00:17
typepeter:越多額外的thread會有明顯的overhead 07/10 00:18
Deltaguita:並不是開越多Thread越快,你的CUP並沒有因此而變多 07/10 00:18
typepeter:Async的好處是使用者不會覺得反應頓頓的 不是真的快 07/10 00:18
bebeewei:請問該如何加快呢?? 07/10 00:27
bebeewei:感激各位前輩回答 07/10 00:27
※ 編輯: bebeewei (140.114.234.143), 07/10/2014 00:27:55
bebeewei:目的是為了加速 所以想說開thread 07/10 00:30
tac0wu:看你處理的事情是甚麼 RenderScript看能不能幫上忙 07/10 01:16
tac0wu:Default AsyncTask是serial的 詳情 07/10 01:18
tac0wu:http://goo.gl/kQJcTg 07/10 01:19
redok:load夠多 開thread才有意義, 同時也要滿足有多核心的環境 07/10 01:19
redok:loading 07/10 01:20
redok:而且你thread也要剛好在不同核心上運作才有效果 07/10 01:20
Killercat:不要用AsyncTask...... 07/10 13:19
Killercat:基本的thread<=>handler不好嘛 幹嘛要多包一層 XD 07/10 13:19
anguso:thread<=>handler 沒辦法用 thread pool. AsyncTask 可以 07/10 14:03
JULONE780701:multiThread不是用來加速的吧... 07/10 15:36
bebeewei:我很確定有平行跑~ 另外我今天測試過thread了 07/10 23:06
bebeewei:結果還是慢的~~Q___Q 07/10 23:06
tac0wu:你甚麼平行應用都沒講 我們這樣隔空抓藥 也很無奈 07/11 01:07
Deltaguita:有些東西在VM上跑的確會慢些 考慮用JNI嗎? 07/11 01:39
Killercat:我不太懂位什麼不能丟pool, new個executor丟進去會有 07/11 10:44
Killercat:什麼問題嘛(抓頭)? 07/11 10:45
changyuheng:請問您執行環境的 CPU 是幾核心? 07/11 13:16
Demarcho:讀一下這篇吧 http://goo.gl/UBN4lG 07/11 14:28
wgl1242254:平行化是一件非常麻煩的事情XD 07/11 14:37
Killercat:maa..我想他說的平行跑應該根平行化是不同的事情... 07/11 15:10
Killercat:不過元po要知道 因為Context Switch要成本 這搞不好更慢 07/11 15:11
Killercat:在一個沒有互相等待的case來講 單核跑多緒不會比較快 07/11 15:12
issuemylove:concurrent 跟 parallel 要搞清楚呀 07/11 15:13
Killercat:除非你有很多邏輯核 而且確定作業系統會幫你dispatch 07/11 15:13
issuemylove:不然你講講 System.out你寫了甚麼 07/11 15:15
bebeewei:hi 各位前輩不好意思那麼晚回 07/13 21:13
bebeewei:我用的是S4 是雙四核 我是假設有一百筆資料 07/13 21:14
bebeewei:每筆做同樣的事情 07/13 21:14
bebeewei:有的 我就是用那篇的方法 07/13 21:17