Java-synchronisierte und statisch synchronisierte Methode für den Zugriff auf statische FelderJava

Java-Forum
Guest
 Java-synchronisierte und statisch synchronisierte Methode für den Zugriff auf statische Felder

Post by Guest »

Wie würde sich das folgende Programm verhalten, wenn eine statische synchronisierte Methode und eine instanzsynchronisierte Methode versuchen, in verschiedenen Threads auf ein statisches Feld derselben Klasse zuzugreifen? Wird irgendein Thread blockiert? Es ist sehr verwirrend.
class MyClass
{
public static int i = 5;

public synchronized void m1()
{
System.out.println(i); //uses static field i of MyClass
//T1 is executing this method
}

public static synchronized void m3()
{
//T2 will be able to call this method on same object lock while it is using
//static field i???
System.out.println(i);//uses static field i of MyClass
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post