Which choice is the most reasonable implementation of the function std::mutex::lock() by using std::mutex::try_lock()?
void std::mutex::lock(){ while(this->try_lock()); }
void std::mutex::lock(){ while(1) this->try_lock(); }
void std::mutex::lock(){ return (this->try_lock()); }
void std::mutex::lock(){ while(!this->try_lock()); }