change all the scope locks to member unique locks !!! use consistent type of locks, I have already done signaling using unique locks in the thread pool