修改之前的wake queue 範例改成使用 semaphore