Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::shared_lock<Mutex>::try_lock_for

      From cppreference.com
      <cpp‎ |thread‎ |shared lock
       
       
      Concurrency support library
      Threads
      (C++11)
      (C++20)
      this_thread namespace
      (C++11)
      (C++11)
      (C++11)
      Cooperative cancellation
      Mutual exclusion
      Generic lock management
      (C++11)
      (C++11)
      (C++11)
      (C++11)
      Condition variables
      (C++11)
      Semaphores
      Latches and Barriers
      (C++20)
      (C++20)
      Futures
      (C++11)
      (C++11)
      (C++11)
      Safe reclamation
      Hazard pointers
      Atomic types
      (C++11)
      (C++20)
      Initialization of atomic types
      (C++11)(deprecated in C++20)
      (C++11)(deprecated in C++20)
      Memory ordering
      (C++11)(deprecated in C++26)
      Free functions for atomic operations
      Free functions for atomic flags
       
       
      template<class Rep,class Period>
      bool try_lock_for(conststd::chrono::duration<Rep,Period>& timeout_duration);
      (since C++14)

      Tries to lock the associated mutex in shared mode. Blocks until specifiedtimeout_duration has elapsed or the lock is acquired, whichever comes first. On successful lock acquisition returnstrue, otherwise returnsfalse. Effectively callsmutex()->try_lock_shared_for(timeout_duration).

      This function may block for longer thantimeout_duration due to scheduling or resource contention delays.

      The standard recommends that a steady clock is used to measure the duration. If an implementation uses a system clock instead, the wait time may also be sensitive to clock adjustments.

      std::system_error is thrown if there is no associated mutex or if the mutex is already locked.

      The behavior is undefined ifMutex does not meet theSharedTimedLockable requirements.

      Contents

      [edit]Parameters

      timeout_duration - maximum duration to block for

      [edit]Return value

      true if the ownership of the mutex has been acquired successfully,false otherwise.

      [edit]Exceptions

      • Any exceptions thrown bymutex()->try_lock_shared_for(timeout_duration).

      [edit]Example

      This section is incomplete
      Reason: no example

      [edit]See also

      attempts to lock (i.e., takes ownership of) the associatedTimedLockable mutex, returns if the mutex has been unavailable for the specified time duration
      (public member function ofstd::unique_lock<Mutex>)[edit]
      locks the associated mutex
      (public member function)[edit]
      tries to lock the associated mutex
      (public member function)[edit]
      tries to lock the associated mutex, until a specified time point
      (public member function)[edit]
      unlocks the associated mutex
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/thread/shared_lock/try_lock_for&oldid=161228"

      [8]ページ先頭

      ©2009-2025 Movatter.jp