title: suspend pthread?
body: <p>I want to implement a mutex lock.
  From my understanding, mutex.lock() should work like 
  1) check lock owner
  2) if lock is owned, put thread in waiting queue
  3) suspend this thread until another thread send a wait up signal</p>
  
  <p>However, there is nothing like pthread_suspend(), then how do I do suspend?
  I found someone saying use pthread_con_wait(), but seems if I want to use that function, I have to set up a pthread_mutex lock first, which it doesn't make sense to use pthread_mutex inside my mutex.</p>
  
  <p>Well, if my understanding of mutex is wrong, please correct me.</p>
  
  <p>Thanks.</p>