Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      C++ named requirements:BasicLockable(since C++11)

      From cppreference.com
      <cpp‎ |named req
       
       
      C++ named requirements
       

      TheBasicLockable requirements describe the minimal characteristics of types that provide exclusive blocking semantics for execution agents (i.e. threads).

      Contents

      [edit]Requirements

      For typeL to beBasicLockable, the following conditions have to be satisfied for an objectm of typeL:

      ExpressionPreconditionsEffects
      m.lock()Blocks until a lock can be acquired for the current execution agent (thread, process, task). If an exception is thrown, no lock is acquired.
      m.unlock()The current execution agent holds a non-shared lock onm.Releases the non-shared lock held by the execution agent.

      Throws no exceptions.

      [edit]Non-shared locks

      A lock on an object is said to benon-shared lock if it is acquired by a call tolock,try_lock,try_lock_for, ortry_lock_until member function.

      [edit]Standard library

      The following standard library types satisfyBasicLockable requirements:

      (C++11)
      provides basic mutual exclusion facility
      (class)[edit]
      provides mutual exclusion facility which can be locked recursively by the same thread
      (class)[edit]
      provides mutual exclusion facility which can be locked recursively
      by the same thread and implements locking with a timeout
      (class)[edit]
      provides shared mutual exclusion facility
      (class)[edit]
      provides shared mutual exclusion facility and implements locking with a timeout
      (class)[edit]
      provides mutual exclusion facility which implements locking with a timeout
      (class)[edit]

      [edit]See also

      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/named_req/BasicLockable&oldid=177783"

      [8]ページ先頭

      ©2009-2025 Movatter.jp