This program is not getting compiled:
class SynchSpeed2 {
public static void main(String[] args) {
SynchSpeed2 obj = new SynchSpeed2();
for (int i = 0; i < 10000000; i++) {
synchronized(obj){};
synchronized(obj){};
}
}
}
while this program is compiled:
class SynchSpeed1 {
public static void main(String[] args) {
SynchSpeed1 obj = new SynchSpeed1();
for (int i = 0; i < 10000000; i++) {
synchronized(obj){};
}
}
}
class SynchSpeed2 {
public static void main(String[] args) {
SynchSpeed2 obj = new SynchSpeed2();
for (int i = 0; i < 10000000; i++) {
synchronized(obj){};
synchronized(obj){};
}
}
}
while this program is compiled:
class SynchSpeed1 {
public static void main(String[] args) {
SynchSpeed1 obj = new SynchSpeed1();
for (int i = 0; i < 10000000; i++) {
synchronized(obj){};
}
}
}