黑马程序员技术交流社区
标题:
线程的面试题
[打印本页]
作者:
穆帆
时间:
2015-9-26 21:06
标题:
线程的面试题
package cn.itcast.demo12_线程的面试题;
/*
* 多线程的面试题:
*
* 1.多线程有几种实现方案,分别是哪几种?
* 三种:
* 1.继承Thread类;
* 2.实现Runnable接口;
* 3.实现Callable接口;(JDK5)
* 2.同步有几种方式,分别是什么?
* 三种:
* 1.同步代码块:
* 2.同步方法:
* 3.Lock锁:
* 3.启动一个线程是run()还是start()?它们的区别?
* start()启动线程;
* run():是在start()方法会自动调用run()方法,线程中要做的事情要写到run中;
* 4.sleep()和wait()方法的区别:
*
* 5.为什么wait(),notify(),notifyAll()等方法都定义在Object类中
* 任何的类都可能被多个线程并发访问,所以,任何类都有权利要求所访问的线程"等待",
* 也有唤醒等待线程的能力,所以这些方法定义在Object类中;
* (幻灯片上的部分大家自己参考)
* 6.线程的生命周期图
*/
public class Demo {
}
作者:
super_qilin
时间:
2015-9-26 21:13
为什么sleep()和wait()方法的区别没有写?
作者:
穆帆
时间:
2015-9-26 21:18
1.sleep:
* 1).Thread的方法;
* 2).表示让当前的线程休眠指定的时间;
* 3).休眠时间到,自动醒来;
* 4).如果在"同步方法内",不释放锁;
* 2.wait:
* 1).Object的方法;
* 2).可以指定时间,也可以不指定时间;
* 3).如果指定时间,当时间到,会自动醒来; 如果不指定时间,需要使用notify()或者notifyAll()来唤醒;
* 4).在"同步方法内",会释放锁;
* 3.yield:
* 1).Thread的方法;
* 2).不指定时间;
* 3).无需唤醒,会到"就绪"状态;
* 4).在"同步方法内",不释放锁;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2