#include #include #include #include using namespace std; static std::timed_mutex mutex_test; static void task0_entry(void) { bool islock; chrono::milliseconds waittime(2000); auto start = chrono::steady_clock::now(); islock = mutex_test.try_lock_for(waittime); auto end = std::chrono::steady_clock::now(); chrono::duration> diff = end - start; cout << "thread0 trylock result:" << islock << " time to try lock " << diff.count() << " ms" << endl; } static void task1_entry(void) { bool islock; chrono::milliseconds waittime(1000); auto start = chrono::steady_clock::now(); islock = mutex_test.try_lock_for(waittime); auto end = chrono::steady_clock::now(); chrono::duration> diff = end - start; cout << "thread1 trylock result:" << islock << " time to try lock " << diff.count() << " ms" << endl; } void timed_mutex_test(void) { cout << "timed mutex test start" << endl; thread thread0(task0_entry); thread thread1(task1_entry); thread0.join(); thread1.join(); cout << "timed mutex test ok" << endl; }