std::shared_timed_mutex:: try_lock_shared_for
              
  | 
             
              
  | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
| 
               
                
                 
                  
                   shared_timed_mutex::try_lock_shared_for
                  
                 
                
                
               | 
            ||||
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            Rep,
            
             class
            
            Period
            
             >
            
             
         bool try_lock_shared_for ( const std:: chrono :: duration < Rep,Period > & timeout_duration ) ;  | 
         (depuis C++14) | |
Tente de verrouiller le mutex en mode partagé. Bloque jusqu'à ce que la timeout_duration spécifiée soit écoulée ou que le verrou partagé soit acquis, selon la première éventualité. En cas d'acquisition réussie du verrou, retourne true , sinon retourne false .
Si timeout_duration est inférieur ou égal à timeout_duration. zero ( ) , la fonction se comporte comme try_lock_shared() .
Cette fonction peut se bloquer plus longtemps que timeout_duration en raison de délais de planification ou de conflits de ressources.
La norme recommande qu'une horloge stable soit utilisée pour mesurer la durée. Si une implémentation utilise plutôt une horloge système, le temps d'attente peut également être sensible aux ajustements de l'horloge.
Comme pour try_lock_shared() , cette fonction peut échouer de manière sporadique et renvoyer false même si le mutex n'était verrouillé par aucun autre thread à un moment donné pendant timeout_duration .
L'opération de unlock() antérieure sur le même mutex synchronise-avec (tel que défini dans std::memory_order ) cette opération si elle retourne true .
       Si
       
        try_lock_shared_for
       
       est appelé par un thread qui possède déjà le
       
        mutex
       
       dans n'importe quel mode (partagé ou exclusif), le comportement est indéfini.
      
         Table des matières | 
       
Paramètres
| timeout_duration | - | durée maximale de blocage | 
Valeur de retour
true si le verrou a été acquis avec succès, sinon false .
Exceptions
Toute exception levée par clock, time_point ou duration durant l'exécution (les horloges, points temporels et durées fournis par la bibliothèque standard ne lèvent jamais d'exception).
Exemple
| 
         Cette section est incomplète
          Raison : aucun exemple  | 
       
Voir aussi
| 
         tente de verrouiller le mutex en propriété partagée, retourne si le mutex n'est pas disponible
          (fonction membre publique)  | 
       |
| 
         tente de verrouiller le mutex en propriété partagée, retourne si le mutex est
          resté indisponible jusqu'à ce que le point temporel spécifié soit atteint (fonction membre publique)  | 
       |
| 
         tente de verrouiller le mutex, retourne si le mutex est resté
          indisponible pendant la durée de timeout spécifiée (fonction membre publique)  |