本文整理汇总了C++中std::timed_mutex::lock方法的典型用法代码示例。如果您正苦于以下问题:C++ timed_mutex::lock方法的具体用法?C++ timed_mutex::lock怎么用?C++ timed_mutex::lock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::timed_mutex
的用法示例。
在下文中一共展示了timed_mutex::lock方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
{
m.lock();
std::thread t(f1);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
}
{
m.lock();
std::thread t(f2);
std::this_thread::sleep_for(ms(300));
m.unlock();
t.join();
}
}
示例2: main
int main(int, char**)
{
{
m.lock();
std::thread t(f1);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
}
{
m.lock();
std::thread t(f2);
std::this_thread::sleep_for(ms(300));
m.unlock();
t.join();
}
return 0;
}
示例3: tc_libcxx_thread_thread_timedmutex_class_try_lock_until
int tc_libcxx_thread_thread_timedmutex_class_try_lock_until(void)
{
{
m.lock();
std::thread t(f1);
std::this_thread::sleep_for(ms(250));
m.unlock();
t.join();
}
{
m.lock();
std::thread t(f2);
std::this_thread::sleep_for(ms(300));
m.unlock();
t.join();
}
TC_SUCCESS_RESULT();
return 0;
}
示例4: main
/**
* main thread that locks the mutex, starts thread then unlocks the mutex after
* 2 seconds. That allows child thread to lock the mutex.
* */
int main()
{
mutex.lock();
LOG(" M mutex locked");
std::thread t(f);
sleep(2);
mutex.unlock();
LOG(" M mutex unlocked");
sleep(2);
t.join();
return 0;
}
示例5: lock
void lock()
{
using namespace std::chrono;
if (_m.try_lock())
return;
detail::threading_primitive_guard g;
if (g.should_detect_deadlocks())
{
auto d = milliseconds(TimeoutMs_);
detail::timer t;
while (!_m.try_lock_for(d))
LoggerPolicy_::show_message(detail::make_log_message("Could not lock mutex", get_id(), t.elapsed()));
}
else
_m.lock();
}