C++ 具名要求:基本可锁定 (BasicLockable) 来自cppreference.com < cpp | named req C++ 语言 标准库头文件 自立与有宿主实现 具名要求 语言支持库 概念库 (C++20) 诊断库 工具库 字符串库 容器库 迭代器库 范围库 (C++20) 算法库 数值库 本地化库 输入/输出库 文件系统库 (C++17) 正则表达式库 (C++11) 原子操作库 (C++11) 线程支持库 (C++11) 技术规范 C++ 具名要求 基础 DefaultConstructible CopyAssignable CopyConstructible MoveAssignable(C++11) MoveConstructible(C++11) Destructible 类型属性 TrivialType(C++11) TriviallyCopyable(C++11) StandardLayoutType(C++11) PODType 库所属 EqualityComparable LessThanComparable Swappable(C++11) ValueSwappable(C++11) NullablePointer(C++11) Hash(C++11) Allocator FunctionObject Callable Predicate BinaryPredicate Compare 容器 Container SequenceContainer ContiguousContainer(C++17) ReversibleContainer AssociativeContainer AllocatorAwareContainer UnorderedAssociativeContainer(C++11) 容器元素 DefaultInsertable(C++11) CopyInsertable(C++11) MoveInsertable(C++11) EmplaceConstructible(C++11) Erasable(C++11) 迭代器 LegacyIterator LegacyOutputIterator LegacyInputIterator LegacyForwardIterator LegacyBidirectionalIterator LegacyRandomAccessIterator LegacyContiguousIterator(C++17) ConstexprIterator(C++20) 流 I/O FormattedInputFunction UnformattedInputFunction FormattedOutputFunction UnformattedOutputFunction 随机数 SeedSequence(C++11) RandomNumberEngine(C++11) RandomNumberDistribution(C++11) UniformRandomBitGenerator(C++11) RandomNumberEngineAdaptor(C++11) 并发 BasicLockable(C++11) Lockable(C++11) TimedLockable(C++11) Mutex(C++11) TimedMutex(C++11) SharedMutex(C++17) SharedTimedMutex(C++14) 其他 CharTraits RegexTraits(C++11) BitmaskType NumericType LiteralType(C++11) UnaryTypeTrait(C++11) BinaryTypeTrait(C++11) TransformationTrait(C++11) Clock(C++11) TrivialClock(C++11) 基本可锁定 (BasicLockable) 要求描述提供为执行代理(即线程)提供排他性阻塞语义的类型的最小特征。 要求 对于要为基础可锁 (基本可锁定 (BasicLockable) ) 的类型 L , L 类型对象 m 必须满足下列条件: 表达式 要求 效果 m.lock() 阻塞到能为当前执行代理(线程、进程、任务)获得锁为止。若抛异常,则不获得锁。 m.unlock() 当前执行代理应保有锁 m 。 释放执行代理曾保有的锁。不抛异常。 参阅 线程支持库 互斥体 (Mutex) 可锁定 (Lockable) 可定时锁定 (TimedLockable)