我必須使用處理兩個並行作業的腳本。Ruby中的線程循環
劇本基本上預示了兩個循環:
loop do
# do something
sleep 5
end
loop do
# do something else
sleep 10
end
所以,我想過要離開一個線程中的第一個循環,所以它運行並排與第二環。
我想是這樣的:
Thread.new do
loop do
# do something
sleep 5
end
end
loop do
# do something else
sleep 10
end
第一個循環會讀取相關信息從Memcached的(通過達利寶石),並調用另一個類做了一些工作,但似乎不起作用properlty,不是我的方式預期:腳本鎖定並不執行線程內的代碼。
的問題,我認爲它是因爲我有兩個循環之前創建一個連接:
@connection = ActiveRecord::Base.connection.raw_connection
這種連接是通過第一循環使用的線程內,並通過第二循環。
那麼,是否有一種安全的方式來創建這個作業同時運行?
線程是一種在我公司tabboo的,我試圖改變這種:(
非常感謝!
>但似乎不起作用properlty,不是我的方式預期。 你能更具體嗎?什麼是不正確的方式? – nattfodd
@nattfodd,對不起,添加了一些更多的信息。 –