我有這樣多線程紅寶石
myhash.each_value{|subhash|
(subhash['key]'.each {|subsubhash|
statement that modifies the subsubhash and takes about 0.07 s to execute
})
}
這個循環運行100+次,不用說一個代碼片段減慢我的應用程序極大(大約7秒鐘,運行這個循環)。
任何關於如何使這個更快的指針?我無法控制真正的昂貴聲明。有沒有一種方法可以在循環中使用多線程,以便可以並行執行語句?
您需要的Thread.join在那裏的某個地方,以確保所有的線程完成。你還需要擔心這是線程安全的,也就是說,「修改subhash的語句......」在其計算中使用任何其他散列鍵? – 2010-08-31 17:52:34
我提到,他需要做的,我最初的職位的加入,但我添加的代碼在那裏只爲你:P。至於線程safeness,我想這是到OP決定耐候這是一個問題或沒有,因爲我不能用他的僞告訴。 – Mahmoud 2010-08-31 18:17:32
謝謝大家的建議。我想這一點,像所有的你說的,我也沒有真正得到離譜了吧。責備口譯員。 – rubyer 2010-09-08 15:22:29