std::shared_timed_mutex:: try_lock_shared_until
              
  | 
             
              
  | 
            |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
| 
               
                
                 
                  
                   shared_timed_mutex::try_lock_shared_until
                  
                 
                
                
               | 
            ||||
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            Clock,
            
             class
            
            Duration
            
             >
            
             
         bool try_lock_shared_until ( const std:: chrono :: time_point < Clock,Duration > & timeout_time ) ;  | 
         (depuis C++14) | |
Tente de verrouiller le mutex 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 .
Si timeout_time est déjà dépassé, cette fonction se comporte comme try_lock_shared() .
       
        Clock
       
       doit satisfaire aux exigences
       
        
         Clock
        
       
       .
       
        
         Le programme est mal formé si
         
          
           
            
             std::
             
              chrono
             
             
              ::
             
             
              is_clock_v
             
            
           
           
            <
           
           Clock
           
            >
           
          
         
         est
         
          
           
            false
           
          
         
         .
        
        
         
          (depuis C++20)
         
        
       
      
La norme recommande que l'horloge liée à timeout_time soit utilisée, auquel cas les ajustements de l'horloge peuvent être pris en compte. Ainsi, la durée du blocage pourrait être supérieure ou inférieure à timeout_time - Clock :: now ( ) au moment de l'appel, selon la direction de l'ajustement et s'il est respecté par l'implémentation. La fonction peut également bloquer jusqu'à ce que timeout_time soit atteint en raison de délais d'ordonnancement des processus ou de contention des ressources.
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é avant timeout_time .
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_until
       
       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_time | - | point temporel maximum jusqu'auquel bloquer | 
Valeur de retour
true si la propriété du verrou partagé a été acquise 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, 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 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 pendant la durée de timeout spécifiée (fonction membre publique)  |