package multi_threading;
/*
- 实验11.2——实现Runnable接口创建线程
- 1.实验目的:
- 1.了解Runnable接口
- 2.学习通过Runnable接口来创建线程
- 2.实验要求:
- 编写一个Java程序,定义一个类ThreadB实现Runnable接口,
- 在main()方法中创建Thread类 的3个实例,执行这些线程
- 3.实验指导:
- 如果本身已经继承了某个父类,由于Java不支持多重继承,所以就无法在继承Thread类,特别是小程序
- 这种情况下可以创建一个类来实现Runnable接口,
- 这种创建线程的方式更具有灵活性,也可以使用户能够具有其他类的一些特性,因此这种方式经常使用
- Runnable接口只有一个方法run(),用户可以声明一个类并实现Runnable接口,并定义run()方法
- 将线程代码写入其中,就完成了这一部分的任务。
- 但是Runnable接口并没有任何对线程的支持,还必须创建Thread类的实例,这一点通过Thread类的构造方法来实现
*/
public class ThreadB implements Runnable{//1.定义类ThreadB实现Runnable接口
int count = 1;
int num;
public ThreadB(int newNum) {
num = newNum;
System.out.println("创建线程"+num);
}
public void run() {
while(true) {
System.out.println("线程"+num+":计数"+count);
count++;
if(count==3)
break;
}
}
```public static void main(String[] args) {
//2.创建ThreadB的对象a1,传入参数new ThreadB(1)
Thread a1 = new Thread(new ThreadB(1));
//3.创建ThreadB的对象a2,传入参数new ThreadB(2)
Thread a2 = new Thread(new ThreadB(2));
//4.创建ThreadB的对象a3,传入参数new ThreadB(3)
Thread a3 = new Thread(new ThreadB(3));
//5.调用a1的start()方法,启动线程a1
a1.start();
//6.调用a2的start()方法,启动线程a2
a2.start();
//7.调用a3的start()方法,启动线程a3
a3.start();
System.out.println("主方法运行结束");
}
}