Use the threadlock method in your class definition to automatically run instance methods inside of an instance-wide re-entrant lock (Monitor). All locked methods in an instance are protected by a single lock, unless a specific lock is specified. You can protect all or some of your methods from being run concurrently. In Ruby>=2.1, threadlock can also be used as a syntactic decorator. Enjoy.