The lock_error class defines an exception type thrown to indicate a locking related error has been detected.

Examples of errors indicated by a lock_error exception include a lock operation which can be determined to result in a deadlock, or unlock operations attempted by a thread that does not own the lock.

`std::logical_error`

Constructs a `lock_error` object.

The `thread_resource_error` class defines an exception type that is thrown by constructors in the &Boost.Threads; library when thread-related resources can not be acquired.

`thread_resource_error` is used only when thread-related resources cannot be acquired; memory allocation failures are indicated by `std::bad_alloc`.

`std::runtime_error`

Constructs a `thread_resource_error` object.