1.关于多线程面试
首先两种实现方式
继承Tread 不推荐用
public class MyThread extends Thread{
public void run(){}
}
实现Runnable
public class MyThread2 implents Runnble{
public void run(){}
}
main 方法
Thread t=new MyThread();
t.start();//线程进入就绪状态 线程有创建 就绪 运行 阻塞 死亡 五种 状态
Thread t2=new Thread(new Mythread2());
t2.start();
与线程相关
一问:wait()和sleep()区别 答:wait 压根notify或者notifyAll()唤醒而sleep到时恢复 wait放弃对象锁
二问:其它线程可否访问sychronized修饰的其它方法 不可以 可以访问非synchronized方法
三:不可以用THIS修饰静态方法
四问:ThreadLocal是什么?用来做什么的?