std::shared_timed_mutex:: lock_shared
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
|
shared_timed_mutex::lock_shared
|
||||
|
void
lock_shared
(
)
;
|
(desde C++14) | |
Adquiere la propiedad compartida del mutex. Si otro hilo mantiene el mutex en propiedad exclusiva, una llamada a
lock_shared
bloqueará la ejecución hasta que se pueda adquirir la propiedad compartida.
Si
lock_shared
es llamado por un hilo que ya posee el
mutex
en cualquier modo (exclusivo o compartido), el comportamiento es indefinido.
Si más del máximo número definido por la implementación de propietarios compartidos ya ha bloqueado el mutex en modo compartido,
lock_shared
bloquea la ejecución hasta que el número de propietarios compartidos se reduzca. Se garantiza que el número máximo de propietarios es al menos 10000.
La operación anterior unlock() en el mismo mutex sincroniza-con (como se define en std::memory_order ) esta operación.
Contenidos |
Parámetros
(ninguno)
Valor de retorno
(ninguno)
Excepciones
Lanza
std::system_error
cuando ocurren errores, incluyendo errores del sistema operativo subyacente que impedirían que
lock
cumpla con sus especificaciones. El mutex no queda bloqueado en caso de que se lance cualquier excepción.
Notas
lock_shared()
normalmente no se llama directamente:
std::shared_lock
se utiliza para gestionar el bloqueo compartido.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
bloquea el mutex, se bloquea si el mutex no está disponible
(función miembro pública) |
|
|
intenta bloquear el mutex para propiedad compartida, retorna si el mutex no está disponible
(función miembro pública) |
|
|
desbloquea el mutex (propiedad compartida)
(función miembro pública) |