看板 java 關於我們 聯絡資訊
http://ideone.com/hHYoX 以上是我的程式 目的是為了從一個ArrayList中取得數值 然後全部做加總起來 可是我把thread數量從1改成4後 執行時間不但沒有縮短反而還增加了... 是因為我都從同一個陣列中取值的關係嗎? 補充:電腦是4核心的,所以我認為宣告4個thread可以讓速度達到最快 不知道這個觀念是不是正確的? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.152.62
LaPass:看不太懂你想幹什麼,有些地方的程式邏輯好像有錯的樣子 07/05 17:21
kuro44776:哪邊不懂 07/05 17:23
hijamoya:幾核心跟幾個THREAD一點關係都沒有 07/05 17:34
risker760915:中間還有一個JVM,要看JVM怎處理吧... 07/05 17:41
LaPass:"聽說"JVM只能跟WINDOWS拿到一條..... 我不太不確定 07/05 17:52
kuro44776:我是在linux下寫的... 07/05 18:01
cyberwizard:run()裡面的程式碼跟你要做的事情不一致,時間不能比 07/05 18:13
LaPass:程式邏輯沒錯,是我看錯了 囧 07/05 19:13
LaPass:我猜... 時間是浪費在建立執行緒跟同步上了.... 07/05 23:34
LaPass:同步跟建立執行緒的成本,還蠻高的... 07/05 23:36
kuro44776:我剛剛把程式移到16核心的電腦上跑 也都沒有變快= = 07/06 00:10
kuro44776:為了這鳥問題花了一整天= = 07/06 00:12
pupuliao:只能證明 無法真的多執行序 07/06 00:48
qrtt1:跑了一下 72 ms 蠻快的啊 (笑) 07/06 01:26
bitlife:你的迴圈數太少,先加到讓程式執行至少要數十秒再來比較 07/06 06:54
qrtt1:主要是內容物太弱了。做事的時間可能都不如搶lock多。 07/06 07:40
cyberwizard:看錯 +1 =.= 07/06 10:05
risker760915:http://ppt.cc/1AF5 07/06 11:31
kuro44776:我把loop裡面的做的事情變複雜後 時間就真的縮短了 哈哈 07/06 13:00