parameters: (typecode_or_type, *args, **kwds)
return_statement: return synchronized(obj, lock)
docstring: Return a synchronization wrapper for a Value
docstring_summary: Return a synchronization wrapper for a Value
docstring_tokens: Return a synchronization wrapper for a Value
function: def Value(typecode_or_type, *args, **kwds):
      '''
      Return a synchronization wrapper for a Value
      '''
      lock = kwds.pop('lock', None)
      if kwds:
          raise ValueError('unrecognized keyword argument(s): %s' % kwds.keys())
      obj = RawValue(typecode_or_type, *args)
      if lock is False:
          return obj
      if lock in (True, None):
          lock = RLock()
      if not hasattr(lock, 'acquire'):
          raise AttributeError("'%r' has no method 'acquire'" % lock)
      return synchronized(obj, lock)
function_tokens: def Value ( typecode_or_type , * args , * * kwds ) : lock = kwds . pop ( 'lock' , None ) if kwds : raise ValueError ( 'unrecognized keyword argument(s): %s' % kwds . keys ( ) ) obj = RawValue ( typecode_or_type , * args ) if lock is False : return obj if lock in ( True , None ) : lock = RLock ( ) if not hasattr ( lock , 'acquire' ) : raise AttributeError ( "'%r' has no method 'acquire'" % lock ) return synchronized ( obj , lock )