Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::unique_lock<Mutex>::try_lock_for

      From cppreference.com
      <cpp‎ |thread‎ |unique 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++11)

      Tries to lock (i.e., takes ownership of) the associated mutex. 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_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 by this std::unique_lock.

      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_for(timeout_duration).

      [edit]Example

      This section is incomplete
      Reason: no example

      [edit]See also

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

      [8]ページ先頭

      ©2009-2026 Movatter.jp