package multi_threading;
/*
- 实验11.1——用Thread类创建线程
- 1.实验目的:
- l.了解Thread类
- 2.通过学习Thread类来创建线程
- 2.实验要求:
- 编写一个Java程序,定义一个ThreadA类继承Thread类,在main()方法中创建ThreadA类的3个实例,执行这些线程
- 3.实验指导:
- java语言中实现多线程的方法有两种,一种是继承java.lang包中的Thread类;
- 另一种是用户在定义自己的类中实现Runnable接口。
- 不管采用哪种方法,都要用到Java类库中的Thread类以及相关的方法。
- 要在一个Thread的子类里激活线程,必须先做好下列两件事:
-
此类必须是继承自Thread类
-
线程所要执行的代码必须写在run()方法内
-
run()方法规定了线程要执行的任务,但一般不是直接调用run()方法,而是通过线程的start()方法来启动线程
-
线程执行时,从它的run()方法开始执行。run()方法时线程执行的起点,所以必须通过定义run()方法为线程提供代码
*/
public class ThreadA extends Thread{
int count = 1;
int num;
public ThreadA(int newNum) {
num = newNum;
System.out.println("创建线程"+num);
}
public void run() {
//覆盖Thread类里的run()方法
while(true) {
System.out.println("线程"+num+":计数"+count);
count++;
if(count==3)
break;
}
}
public static void main(String[] args) {
//1.创建ThreadA的对象a1,传入参数1
ThreadA a1 = new ThreadA(1);
//1.创建ThreadA的对象a21,传入参数2
ThreadA a2 = new ThreadA(2);
//1.创建ThreadA的对象a3,传入参数31
ThreadA a3 = new ThreadA(3);
//4.调用a1的start()方法,启动线程a1
a1.start();
//5.调用a1的start()方法,启动线程a2
a2.start();
//6.调用a1的start()方法,启动线程a3
a3.start();
}
}