Use watch to implement mutex