SignalObjectAndWait

WIN32 で mutex の unlock と conditon variables の wait を atomic にやるのは SignalObjectAndWait を使えば良さそうだ。