Пространства имён
Варианты
Действия

std::timed_mutex::try_lock

Материал из cppreference.com
< cpp‎ | thread‎ | timed mutex
 
 
Библиотека поддержки потоков
Потоки
Оригинал:
Threads
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
thread(C++11)
this_thread имен
Оригинал:
this_thread namespace
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
get_id(C++11)
yield(C++11)
sleep_for(C++11)
sleep_until(C++11)
Взаимное исключение
Оригинал:
Mutual exclusion
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
mutex(C++11)
timed_mutex(C++11)
Generic управления замком
Оригинал:
Generic lock management
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
lock_guard(C++11)
unique_lock(C++11)
defer_lock_t
try_to_lock_t
adopt_lock_t
(C++11)
(C++11)
(C++11)
lock(C++11)
try_lock(C++11)
defer_lock
try_to_lock
adopt_lock
(C++11)
(C++11)
(C++11)
Условия переменных
Оригинал:
Condition variables
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
condition_variable(C++11)
condition_variable_any(C++11)
notify_all_at_thread_exit(C++11)
cv_status(C++11)
Futures
Оригинал:
Futures
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
promise(C++11)
future(C++11)
shared_future(C++11)
packaged_task(C++11)
async(C++11)
launch(C++11)
future_status(C++11)
future_error(C++11)
future_category(C++11)
future_errc(C++11)
 
std::timed_mutex
Функции-члены
timed_mutex::timed_mutex
Блокировка
Оригинал:
Locking
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
timed_mutex::lock
timed_mutex::try_lock
timed_mutex::try_lock_for
timed_mutex::try_lock_until
timed_mutex::unlock
Родные ручки
Оригинал:
Native handle
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
timed_mutex::native_handle
 
bool try_lock();
(начиная с C++11)

Пытается заблокировать мьютекс. Возврат происходит немедленно. В случае успешной установки блокировки возвращается true, в противном случае возвращается false.

Содержание

[править] Параметры

(нет)

[править] Возвращаемое значение

true, если блокировка была установлена, в противном случае - false.

[править] Исключения

[править] Пример

Этот пример демонстрирует использование lock, try_lock и unlock

#include <iostream>
#include <mutex>
 
int main()
{
    std::mutex test;
    if (test.try_lock()==true)
        std::cout << "блокировка установлена" << std::endl;
    else
        std::cout << "блокировка не установлена" << std::endl;
    test.unlock();	//теперь разблокируем мьютекс
    test.lock();	//заблокируем его снова
    if (test.try_lock())  //true можно опустить
        std::cout << "блокировка установлена" << std::endl;
    else
        std::cout << "блокировка не установлена" << std::endl;
    test.lock(); //и последнее (заблокируем)
}

Вывод:

блокировка установлена
блокировка не установлена
(программа аварийно завершается)

[править] См. также

блокирует мьютекс, выполнение останавливается если мьютекс недоступен
(public функция-член) [edit]
пытается заблокировать мьютекс, возвращается, если мьютекс имеет been
unavailable за указанный период тайм-аута
Оригинал:
tries to lock the mutex, returns if the mutex has been
unavailable for the specified timeout duration
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
пытается заблокировать мьютекс, возвращается, если мьютекс имеет been
unavailable до указанного момента времени была достигнута
Оригинал:
tries to lock the mutex, returns if the mutex has been
unavailable until specified time point has been reached
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
разблокирует мьютекс
(public функция-член) [edit]