1.继承 Thread 类:实现线程的创建
步骤:
1.定义类继承Thread
2.覆写Threa类的run方法。 自定义代码放在run方法中,该run方法的方法体就代表了线程要完成的任务
3.创建Thread子类的实例,即创建了线程对象
4.调用线程对象的start()方法来启动该线程
继承类必须重写 run() 方法,该方法是新线程的入口点。它也必须调用 start() 方法才能执行
该线程有两个作用:启动线程,调用run方法
代码示例:
public class FirstThreadTest extends Thread{
int i = 0;
//重写run方法,run方法的方法体就是现场执行体
public void run() {
for(;i<100;i++){
System.out.println(getName()+" "+i);
}
}
public static void main(String[] args) {
for(int i = 0;i< 100;i++)
{
System.out.println(Thread.currentThread().getName()+" : "+i);
if(i==20) {
//这里创建了两个线程,并启动
new FirstThreadTest().start();
new FirstThreadTest().start();
}
}
}
}
(1)一般情况下,一个线程类可以创建多个线程对象(是同时执行的多个类的实例)
(2)线程类创建几个对象,就执行几个任务(多线程+多对象)
(3)继承Thread类优缺点:
1.优点:
线程很有规律,当创建多个线程时,会依次执行
2.缺点:
(1)继承thread类开启线程的方法,不能再继承其他类,因为java是单继承的
(2)继承thread类开启线程,不能实现资源共享
(3)线程池不支持继承Thread类的线程
注:(2),(3)是继承Thread类的最大缺陷,实际开发中多使用线程接口!!!