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
ミューテックスに含まれていても、インナーはその役割を果たしますか?なぜ?
構造を見るだけで、質問に関連するプログラムの一部だけを示しました。