verrouillage de fil Java
Utilisez des mots clés synchronisés dans les threads Java pour atteindre la synchronisation
Synchronisé peut verrouiller les méthodes de verrouillage, les classes de verrouillage, les objets de verrouillage, les blocs de code de verrouillage
Verrouillage de la méthode
// Le verrouillage de synchronisation ajouté à la méthode est ce void print synchronisé public () {System.out.println ("Méthode synchronisée"); essayez {thread.sleep (3000); } catch (InterruptedException e) {e.printStackTrace (); }}Verrouillage de la classe
public synchronisé void print (String msg) {// class Lock Synchronized (mythread.class) {System.out.println (msg); essayez {thread.sleep (3000); } catch (InterruptedException e) {e.printStackTrace (); }}} Verrouillage de l'objet
Prenez les billets de train comme exemple
La fenêtre de classe publique étend Thread {public Window (String Name) {super (name); } static int tick = 100; Statique statique obj = new String (); @Override public void run () {// Commencez à vendre des billets while (tick> 0) {// synchronize code block // une clé de verrouillage // tous les threads doivent filer ici synchronisés (obj) {if (tick> 0) {System.out.println (getName () + "Selled the [" + tick + "] billet"); // }} essayez {Thread.Sleep (100); } catch (InterruptedException e) {e.printStackTrace (); }}}}Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!