std::shared_lock<Mutex>:: try_lock_until
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Shared locking | ||||
|
shared_lock::try_lock_until
|
||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
template
<
class
Clock,
class
Duration
>
bool try_lock_until ( const std:: chrono :: time_point < Clock,Duration > & timeout_time ) ; |
(depuis C++14) | |
Tente de verrouiller le mutex associé en mode partagé. Bloque jusqu'à ce que le timeout_time spécifié soit atteint ou que le verrou soit acquis, selon la première éventualité. En cas d'acquisition réussie du verrou, retourne true , sinon retourne false . Peut bloquer plus longtemps que jusqu'à ce que timeout_time soit atteint.
Appelle effectivement mutex ( ) - > try_lock_shared_until ( timeout_time ) .
std::system_error est levée s'il n'y a pas de mutex associé ou si le mutex est déjà verrouillé.
Clock
doit satisfaire aux exigences
Clock
. Le comportement est indéfini si
Mutex
ne satisfait pas aux exigences
SharedTimedLockable
.
Le programme est mal formé si
std::
chrono
::
is_clock_v
<
Clock
>
est
false
.
(depuis C++20)
Table des matières |
Paramètres
| timeout_time | - | point temporel maximum jusqu'auquel bloquer |
Valeur de retour
true si la propriété du mutex a été acquise avec succès, false sinon.
Exceptions
- Toute exception levée par mutex ( ) - > try_lock_shared_for ( timeout_time ) .
- S'il n'y a pas de mutex associé, std::system_error avec un code d'erreur de std::errc::operation_not_permitted .
- Si le mutex est déjà verrouillé, std::system_error avec un code d'erreur de std::errc::resource_deadlock_would_occur .
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
verrouille le mutex associé
(fonction membre publique) |
|
|
tente de verrouiller le mutex associé
(fonction membre publique) |
|
|
tente de verrouiller le mutex associé pendant la durée spécifiée
(fonction membre publique) |
|
|
déverrouille le mutex associé
(fonction membre publique) |
|
|
tente de verrouiller (c'est-à-dire de prendre la possession de) le mutex
TimedLockable
associé, retourne si le mutex est resté indisponible jusqu'à ce que le point temporel spécifié soit atteint
(fonction membre publique de
std::unique_lock<Mutex>
)
|