The Java programming language provides two basic synchronization idioms: synchronized methods and synchronized statements.
synchronized methods
synchronized statements
Every object has an intrinsic lock associated with it.
모든 java object 는 intrinsic lock 을 가지고 있다.
synchronized methods 호출 시 object 의 intrinsic lock 이 걸려서, synchronized 동작 중 다른 synchronized method 를 수행 할 수 없다.
synchronized statements must specify the object that provides the intrinsic lock:
Synchronized statements are also useful for improving concurrency with fine-grained synchronization.
synchronized statements 는 특정 객체를 명시해야하며, 해당 객체의 intrincsic lock 을 건다.
===
요점1. Every object has an intrinsic lock associated with it. (모든 객체는 intrinsic lock 을 가지고 있다.)
요점2. synchronized 를 통해서 object 의 intrinsic lock 을 건다.
https://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html https://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html
모든 java object 는 intrinsic lock 을 가지고 있다. synchronized methods 호출 시 object 의 intrinsic lock 이 걸려서, synchronized 동작 중 다른 synchronized method 를 수행 할 수 없다.
synchronized statements 는 특정 객체를 명시해야하며, 해당 객체의 intrincsic lock 을 건다.