1
我需要評估一個if條件,但我需要小心其他線程可能對變量進行的修改。如果在互斥塊上聲明
我的解決辦法是
array.each do |anything|
if (mutex.synchronize do shared_var <= my_var end)
next
end
end
看來工作。但是if
聲明檢查的是什麼?那這個其他代碼呢?
array.each do |anything|
mutex.synchronize do
if shared_var <= my_var
next
end
end
end
它們是否等同?內部next
即使包含在互斥體中也能完成其工作嗎?爲什麼?
只看結構,我只顯示了與我的問題相關的程序部分。
你究竟想要「下一個」? –
@AndrewMarshall,你說得對,現在還不清楚。有一個外部循環包裝了一切。我編輯這個問題,謝謝 – stackovergio
你知道Array沒有'foreach'方法,對嗎? –