黑马程序员技术交流社区

标题: 多线程的相关知识(有面试会问到的哦) [打印本页]

作者: 请叫我丶菜鸟    时间: 2014-12-13 21:36
标题: 多线程的相关知识(有面试会问到的哦)
线程状态:
新建一个线程:start ()
运行:具备执行资格,同时具备执行权;
冻结:sleep(time),wait()—notify()唤醒;线程释放了执行权,同时释放执行资格;
临时阻塞状态:线程具备cpu的执行资格,没有cpu的执行权;
消亡:stop()
线程的2种创建方式(必问)
创建线程的第一种方式
注:这个是用  实现一个接口Runnable。(Runnable软的谋)
步骤:
1,定义类实现Runnable接口。
2,覆盖接口中的run方法(用于封装线程要运行的代码)。
3,通过Thread类创建线程对象;
4,将实现了Runnable接口的子类对象作为实际参数传递给Thread类中的构造函数。
为什么要传递呢?
因为要让线程对象明确要运行的run方法所属的对象。
5,调用Thread对象的start方法。开启线程,并运行Runnable接口子类中的run方法。

创建线程的第二种方式:
注:这种方式是用  继承Thread ,由子类复写run方法。
步骤:
1,定义类继承Thread类;
2,目的是复写run方法,将要让线程运行的代码都存储到run方法中;
3,通过创建Thread类的子类对象,创建线程对象;
4,调用线程的start方法,开启线程,并执行run方法。

获取线程名称:
线程名.getName();获取线程名称
currentThread();获取当前线程对象
类名.currentThread();
创建线程两种方式的区别:

作者: Honelyboy    时间: 2014-12-13 21:38
好认真的笔记。
作者: boycechan    时间: 2014-12-13 22:13
mark留名,学习下!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2