5. Monitor concept, synchronized principle, synchronized lock upgrade and examples (lightweight lock, heavyweight lock, spin lock, bias lock)
Monitor concept
Java object header
Take 32-bit virtual machine as an example Common object Array object The Mark Word structure is 64 bit virtual machine Mark Word
reference material https://stackoverflow.com/questions/26357186/what-is-in-java-object-header
Principle of Monitor (lock)
Monitor is translated into monitor or tube Eac ...
Added by BK87 on Sat, 05 Mar 2022 21:29:30 +0200
Differences between Java--synchronized and Lock and examples of their use
1. Classification of Java locks (reference link: https://tech.meituan.com/2018/11/15/java-lock.html )
(1) Optimistic lock VS pessimistic lock:
* * optimistic Lock: * * Lock the data first to ensure that the data will not be modified by other threads. The synchronized keyword and the implementation class of Lock are pessimistic locks. It is su ...
Added by deepakagrawal1982 on Sat, 26 Feb 2022 05:43:46 +0200
Java knowledge needed for work (JUC Lock Learning Paper)
JUC is a part of my job that I don't use very much, but I often get asked about it in a helpless interview, so I'll learn about JUC today.
JUC is all called Java. Util. The concurrent package is a toolkit for Java, so why is JUC a frequent question for interviews? Because JUC includes multithreading, atomicity, locks and other heavy content, i ...
Added by UQ13A on Sat, 05 Feb 2022 19:04:49 +0200
Chapter 3 - management of shared model
Chapter 3 - management of shared model (3)
wait-notify
Little story - why wait
Because the conditions are not met, Xiaonan cannot continue the calculationBut if Xiaonan keeps occupying the lock, others will have to block all the time. The efficiency is too low
So Lao Wang opened a single Lounge (calling the wait method) and asked Xiao Nan ...
Added by celsoendo on Wed, 02 Feb 2022 11:43:17 +0200
Chapter 3 - management of shared model
Chapter 3 - management of shared model (1)
Contents of this chapter
Sharing problemsynchronizedThread safety analysisMonitorwait/notifyThread state transitionActivityLock
Problems caused by sharing
Little story
Lao Wang (operating system) has a powerful abacus (CPU). Now he wants to rent it and earn some extra money
Xiao Nan and Xia ...
Added by morphboy23 on Tue, 01 Feb 2022 10:02:58 +0200
Management of concurrency sharing model
3. Shared model process
What is thread safety
When multiple threads access a method, no matter how you call it or how these threads execute alternately, we don't need to do any synchronization in the main program. The resulting behavior of this class is the correct behavior we imagine, so we can say that this class is thread safe.
3.1 p ...
Added by gottes_tod on Thu, 20 Jan 2022 21:31:27 +0200
Source code analysis of ConcurrentHashMap
Let's not fight bald old today. Recharge ourselves and fight bald old again in the future!
Note: the concurrent HashMap chat is after 1.8!
Brothers and sisters all say that HashMap thread is not safe. If you want thread safety, use ConcurrentHashMap. Then why is it thread safe? Ah? Why? Don't think about it. It must look like it from the put( ...
Added by mjdamato on Wed, 05 Jan 2022 01:11:24 +0200
A few things you need to know about java synchronized?
Key points of this paper
This article mainly talks about the principle of synchronized lock expansion. It will expand the logic of lock expansion from the source code and explain why the designer should do so from the source code.
synchronized analysis
Because there are many articles on the Internet about the whole synchronized analysis, t ...
Added by welshmike on Sun, 02 Jan 2022 01:14:08 +0200
Are concurrent programming synchronized variables thread safe
catalogue
Thread safety
Single thread operation variable
Multiple threads are read-only to variables or variables do not belong to shared resources
Thread unsafe condition
Multithreading can read and write variables
A subclass overrides a parent class method to perform an unknown operation
Variables: normal member variables, stati ...
Added by goleztrol on Fri, 31 Dec 2021 21:58:29 +0200