How synchronized keyword in java have been impleme

2019-05-01 16:56发布

问题:

I'm reading operating system and I came across several problems for inter-process communication. These can be solved by using monitor concepts which java provide via synchronized keyword.

I wish to know how synchronized keyword have been implemented? I tried to look at the source but I couldn't able to find it. Are synchronized are using system calls like down up ( which semaphore uses basically) to monitor the locks?

Does JVM help in this process?

I'm a novice in Java, I wish to know how things works before I go into thread concepts in java.

Thanks in advance.

回答1:

How synchronized is implemented is not defined, only how it works.

In many JVMs, what it does is quite complicated to optimise its behaviour (for example it tries to avoid making system calls as these are relatively slow) For example the JIT can combine or eliminate locking with the synchronized keyword if it determines this can be done.