code: def compare_and_set(self, expect, update):
          '''
          Atomically sets the value to `update` if the current value is equal to
          `expect`.
  
          :param expect: The expected current value.
          :param update: The value to set if and only if `expect` equals the
              current value.
          '''
          with self._reference.get_lock():
              if self._reference.value == expect:
                  self._reference.value = update
                  return True
  
              return Falsf compare_and_set(self, expect, update):
          '''
          Atomically sets the value to `update` if the current value is equal to
          `expect`.
  
          :param expect: The expected current value.
          :param update: The value to set if and only if `expect` equals the
              current value.
          '''
          with self._reference.get_lock():
              if self._reference.value == expect:
                  self._reference.value = update
                  return True
  
              return False
docs: Atomically sets the value to `update` if the current value is equal to
          `expect`.
  
          :param expect: The expected current value.
          :param update: The value to set if and only if `expect` equals the
              current value.