Deadlock refers to two or more than two processes in the implementation process, because of competitive resources or due to each other communication caused by a blocking phenomenon, without external forces, they will not be able to push down. It is said that the system is in a deadlock state or the system produces a deadlock, and these processes that are always waiting for each other are called deadlock processes.
public class Deadlockdemo {
static book Book1 = new book ();
Static book Book2 = new book ();
public static void Main (string[] args {
new Thread ()-> {
try {
synchronized (Book1) {
Thread.Sleep ( 1000);
Book2.getbook ();
}
catch (Interruptedexception e) {
e.printstacktrace ();
}
}). Start ();
New Thread (()-> {
try {
synchronized (book2) {
thread.sleep (1000);
Book1.getbook ();
}
catch (Interruptedexception e) {
e.printstacktrace ();
}
}). Start ();
}
Class Book {Public
synchronized book GetBook () {Return to
new book ();
}
}