线程的创建和启动2
多线程的创建
方式二:实现Runnable接口
1.创建一个实现了Runnable接口的类
2.实现类去实现Runnable中的抽象方法: run()
3.创建实现类的对象
4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
5.通过Thread类的对象调用start()
例:遍历0-100的偶数
//创建一个实现了Runnable接口的类
class MThread implements Runnable{
//实现类去实现Runnable中的抽象方法: run()
public void run(){
for (int i = 0;i < 100;i++){
if(i % 2 == 0){
System.out.println(i);
}
}
}
}
public class ThreadTest1 {
public static void main(String[] args) {
//创建实现类的对象
MThread mThread = new MThread();
//将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
Thread t1 = new Thread(mThread);
//通过Thread类的对象调用start()
t1.start();
}
}
结果成功运行(部分截图)
再启动一个线程,遍历100以内的偶数
此时不需要重新添加MThread mThread = new MThread();
只添加Thread t2 = new Thread(mThread);即可
//创建一个实现了Runnable接口的类
class MThread implements Runnable{
//实现类去实现Runnable中的抽象方法: run()
public void run(){
for (int i = 0;i < 100;i++){
if(i % 2 == 0){
System.out.println(Thread.currentThread().getName()+":"+i);
}
}
}
}
public class ThreadTest1 {
public static void main(String[] args) {
//创建实现类的对象
MThread mThread = new MThread();
//将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
Thread t1 = new Thread(mThread);
t1.setName("线程1");
//通过Thread类的对象调用start()
t1.start();
//在启动一个线程,遍历100以内的偶数
Thread t2 = new Thread(mThread);
t2.setName("线程2");
t2.start();
}
}
运行截图(部分)