https://www.zhihu.com/question/23995948/answer/136236554 semaphore和mutex的区别? https://www.zhihu.com/question/47704079