자바 모니터 패턴은 단순한 관례에 불과하며 일정한 형태로 스레드 안전성을 확보할 수 만 있다면 어떤 형태의 락을 사용해도 무방하다.

public class PrivateLock {
    private final Object lock = new Object();
    private MyData data;
  
    public void something() {
        syncronized(lock) {
            // data...
        }
    }
}