多线程面试题:
1.什么是线程,什么是进程,它们有什么区别和联系,一个进程里面是否必须有个线程
(先讲进程)
2.实现一个线程有哪几种方式,各有什么优缺点,比较常用的是那种,为什么
3. 一般情况下我们实现自己线程时候要重写什么方法
4.start方法和run方法有什么区别,我们一般调用的那个方法,系统调用的是那个方法
5.sleep方法有什么作用,一般用来做什么
6. 讲下join,yield方法的作用,以及什么场合用它们
7.线程中断是否能直接调用stop,为什么?
8.列举出一般情况下线程中断的几种方式,并说明他们之间的优缺点,并且说明那种中断方式最好
9.线程有几种状态,他们是怎么转化的
10.在实现Runnable的接口中怎么样访问当前线程对象,比如拿到当前线程的名字
11. 讲下什么是守护线程,以及在什么场合来使用它
12.一般的线程优先级是什么回事,线程优先级高的线程一定会先执行吗?如果不设置优先级的话,那么线程优先级是多少,设置线程优先级用那个函数
13.为什么Thread里面的大部分方法都是final的
14.什么是线程同步,什么是线程安全
15.讲下同步方法和同步块的区别,以及什么时候用它们
16.简单说下Lock对象的实现类的锁机制和同步方法或同步块有什么区别
17. 同步块里面的同步监视器是怎么写的,默认的同步方法里面的同步监视器是那个
18.讲下什么 是死锁,死锁发生的几个条件是什么
19.线程间是什么通信的,通过调用几个方法来交互的
20.wait,notify,notifyAll在什么地方使用才有效,他们是那个类的方法
21.wait和sleep有什么区别和联系,他们执行的时候是否都会释放锁
22.yield,sleep方法有什么区别和联系
sleep()和wait()的区别。
线程的启动是哪个方法,调用的是哪个方法?
线程安全与线程不安全的区别
线程的实现方式,线程的生命周期等
如何处理线程不安全问题 有2种解决方法。
线程中常用方法的区别,
多线程和单线程有什么区别?
线程的四种状态,__、_、_、___。启动调用_方法,启动后会调用__方法。
用同步块与同步方法的区别?
写二个线程,对一个int类型一个i++,一个i--
说说stop为什么不建议使用。
Runable接口的方法是什么?
什么是同步和异步,分别用例子说明,同步有几种方式?
什么是对象锁?
}
线程的死锁问题
"5.下列哪个是Runable接口的方法()
写一个生产者-消费者模型