K
khaines
Imagine you have in a method a block. Sometimes you will want that block
to be executed via a mutex.synchronize() call. And sometimes you don't
want to synchronize.
def y
yield
end
def method_with_a_block
(dont_lock_here ? methody) : @mutex.methodsynchronize)).call do
puts "This block may or may not be synchronized, depending on whether
dont_lock_here() returned true or false."
end
end
Is that a stupid way to get that effect?
The only other alternative that occurs to me is to make the block a
separate method.
def i_was_a_block
puts "This code may or may not be syncronized, depending on whether
dont_lock_here() in method_with_a_block returned true or false."
end
def method_with_a_block
if dont_lock_here
i_was_a_block
else
@mutex.synchronize {i_was_a_block}
end
end
What do you all think?
Kirk Haines
to be executed via a mutex.synchronize() call. And sometimes you don't
want to synchronize.
def y
yield
end
def method_with_a_block
(dont_lock_here ? methody) : @mutex.methodsynchronize)).call do
puts "This block may or may not be synchronized, depending on whether
dont_lock_here() returned true or false."
end
end
Is that a stupid way to get that effect?
The only other alternative that occurs to me is to make the block a
separate method.
def i_was_a_block
puts "This code may or may not be syncronized, depending on whether
dont_lock_here() in method_with_a_block returned true or false."
end
def method_with_a_block
if dont_lock_here
i_was_a_block
else
@mutex.synchronize {i_was_a_block}
end
end
What do you all think?
Kirk Haines