exclusive()
public
Wraps a block in Thread.critical, restoring the original value upon exit from the critical section.
# File lib/thread.rb, line 24
def Thread.exclusive
_old = Thread.critical
begin
Thread.critical = true
return yield
ensure
Thread.critical = _old
end
end