# Package org.apache.commons.configuration2.sync

package org.apache.commons.configuration2.sync

A package containing interfaces and classes related to synchronization of configurations.

Whether a configuration object has to be thread-safe or not is application-specific. Therefore, this library allows an application to adapt configuration objects to their requirements regarding thread-safety by assigning them so-called `Synchronizer` objects. A configuration invokes its `Synchronizer` every time it is accessed (in read or write mode). If configurations are not accessed concurrently by multiple threads, a simple dummy `Synchronizer` can be used - this is also the default setting. To ensure thread-safety, a fully functional implementation has to be set.

- Related Packages
  Package
  Description
  org.apache.commons.configuration2
  The Configuration main package.
- Class
  Description
  LockMode
  An enumeration used by `SynchronizerSupport` to specify how an object is locked.
  NoOpSynchronizer
  An implementation of the `Synchronizer` interface which does not perform any synchronization.
  ReadWriteSynchronizer
  A special implementation of `Synchronizer` based on the JDK's `ReentrantReadWriteLock` class.
  Synchronizer
  An interface controlling synchronization of configuration instances.
  SynchronizerSupport
  Definition of an interface for objects that can be associated with a `Synchronizer`.