std::mutex::try_lock
Da cppreference.com
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
bool try_lock(); | (desde C++11) | |
Tenta bloquear o mutex. Retorna imediatamente. Por volta de bloqueio de sucesso aquisição true, caso contrário retorna false.
Original:
Tries to lock the mutex. Returns immediately. On successful lock acquisition returns true, otherwise returns false.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Índice |
[editar]Parâmetros
(Nenhum)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar]Valor de retorno
true se o bloqueio foi adquirida com sucesso, caso contrário, false.
Original:
true if the lock was acquired successfully, otherwise false.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar]Exceções
Esta seção está incompleta |
[editar]Exemplo
Este exemplo mostra try_lock bloquear e desbloquear em ação
Original:
This example shows lock, try_lock and unlock in action
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#include <iostream>#include <mutex> int main(){std::mutex test;if(test.try_lock()==true)std::cout<<"lock acquired"<<std::endl;elsestd::cout<<"lock not acquired"<<std::endl; test.unlock();//now unlock the mutex test.lock();//to lock it againif(test.try_lock())//true can be left outstd::cout<<"lock acquired"<<std::endl;elsestd::cout<<"lock not acquired"<<std::endl; test.lock();//and now the finale (a block)}
Saída:
lock acquired lock not acquired (program hangs)
[editar]Veja também
bloqueia o mutex, blocos se o mutex não está disponível Original: locks the mutex, blocks if the mutex is not available The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) | |
destrave o mutex Original: unlocks the mutex The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função pública membro) |