English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

java synchronized chargement verrouillage-Explication détaillée des threads réentrant et des exemples de code

java synchronized chargement verrouillage-Corps du texte

Réentrant

Code d'exemple :
  public class ReGetLock implements Runnable {
  @Override
    public void run() {
  new Thread(rgl).start();
  get();
    public synchronized void set() {
    public synchronized void get() {
  new Thread(rgl).start();
  set();
    public synchronized void set() {
  new Thread(rgl).start();
  System.out.println(Thread.currentThread().getId());
    public static void main(String[] args) {
    ReGetLock rgl = new ReGetLock();
  new Thread(rgl).start();
new Thread(rgl).start();

}63&#

Est-ce que le thread qui exécute le code peut entrer dans la méthode set ?63&#

Parce que le thread rgl a d'abord appelé la méthode get, obtenant le verrou de l'objet ReGetLock, alors lorsque le thread rgl veut entrer dans la méthode marquée par la clé synchronisée, il sera bloqué et attendra-t-il ?;

En fait, non, dans JAVA,

Merci de lire, j'espère que cela peut aider tout le monde, merci pour le soutien de ce site !

Vous pourriez aussi aimer