A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 穆帆 中级黑马   /  2015-9-26 21:06  /  556 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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 {

}


2 个回复

倒序浏览
为什么sleep()和wait()方法的区别没有写?
回复 使用道具 举报
1.sleep:
*                 1).Thread的方法;
*                 2).表示让当前的线程休眠指定的时间;
*                 3).休眠时间到,自动醒来;
*                 4).如果在"同步方法内",不释放锁;
* 2.wait:
*                 1).Object的方法;
*                 2).可以指定时间,也可以不指定时间;
*                 3).如果指定时间,当时间到,会自动醒来; 如果不指定时间,需要使用notify()或者notifyAll()来唤醒;
*                 4).在"同步方法内",会释放锁;
* 3.yield:
*                 1).Thread的方法;
*                 2).不指定时间;
*                 3).无需唤醒,会到"就绪"状态;
*                 4).在"同步方法内",不释放锁;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马