public
class
MyDeadlock {
String str1 =
"Java"
;
String str2 =
"UNIX"
;
Thread trd1 =
new
Thread(
"My Thread 1"
){
public
void
run(){
while
(
true
){
synchronized
(str1){
synchronized
(str2){
System.out.println(str1 + str2);
}
}
}
}
};
Thread trd2 =
new
Thread(
"My Thread 2"
){
public
void
run(){
while
(
true
){
synchronized
(str2){
synchronized
(str1){
System.out.println(str2 + str1);
}
}
}
}
};
public
static
void
main(String a[]){
MyDeadlock mdl =
new
MyDeadlock();
mdl.trd1.start();
mdl.trd2.start();
}
To resolve deadlock change the order in Thread2 same as Thread1
sync(str1) sync(str2)
0 comments:
Post a Comment