module Concurrent::ThreadSafe::Util::CheapLockable

def cheap_synchronize

Making use of the Rubinius' ability to lock via object headers to avoid the overhead of the extra Mutex objects.
def cheap_synchronize
  Rubinius.lock(self)
  begin
    yield
  ensure
    Rubinius.unlock(self)
  end
end