std::timed_mutex m; my_class data; void foo(){ std::unique_lock lk(m,std::chrono::milliseconds(3)); if(lk) process(data); }