JunsuLime / spring-cloud-native-explorer

Spring cloud explorer
1 stars 0 forks source link

java synchorized 가 어떻게 동작하는지 파악해보자. #37

Closed JunsuLime closed 2 years ago

JunsuLime commented 2 years ago

https://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html https://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html

The Java programming language provides two basic synchronization idioms: synchronized methods and 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 을 건다.

JunsuLime commented 2 years ago

=== 요점1. Every object has an intrinsic lock associated with it. (모든 객체는 intrinsic lock 을 가지고 있다.) 요점2. synchronized 를 통해서 object 의 intrinsic lock 을 건다.

테스트 코드를 통해 확인 완료.