java死锁方面的知识也是在面试过程中经常被提及的,以下是关于死锁的一个实例:
package com.java.Test;
public class DeadLock extends Thread {
Tom t = new Tom();
Kite k = new Kite();
DeadLock(){
this.start();
k.lend(t);
}
public void run()
{
t.lend(k);
}
public static void main(String[] args) {
new DeadLock();
}
}
class Kite
{
public synchronized void lend(Tom t)
{
System.out.println("我是否应该借筷子给tom");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
t.eat();
}
public synchronized void eat(){
System.out.println("Kite可以吃饭了");
}
}
class Tom
{
public synchronized void lend(Kite k)
{
System.out.println("我是否应该借筷子给Kite");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
k.eat();
}
public synchronized void eat(){
System.out.println("Tom可以吃饭了");
}
}