/*
    创建多线程的方式二:
    1.创建一个实现Runnable接口的类
    2.实现类去实现Runnable中的抽象方法:run()
    3.创建实现类的对象
    4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
    5.通过Thread类的对象调用start()

    */

    1. package com.atguigu.java1;
    2. /**
    3. *创建多线程的方式二:
    4. * 1.创建一个实现Runnable接口的类
    5. * 2.实现类去实现Runnable中的抽象方法:run()
    6. * 3.创建实现类的对象
    7. * 4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
    8. * 5.通过Thread类的对象调用start()
    9. *
    10. * @author Dxkstart
    11. * @create 2021-05-06 17:49
    12. */
    13. public class ThreadTest2 {
    14. public static void main(String[] args) {
    15. //3.创建实现类的对象
    16. MThread m = new MThread();
    17. //4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
    18. Thread t1 = new Thread(m);
    19. t1.setName("分线程1:");//设置分线程名称
    20. //5.通过Thread类的对象调用start()
    21. t1.start();
    22. //在创建一个线程,遍历100以内的偶数
    23. Thread t2 = new Thread(m);
    24. t2.setName("分线程2:");//设置分线程名称
    25. t2.start();
    26. }
    27. }
    28. //1.创建一个实现Runnable接口的类
    29. class MThread implements Runnable{
    30. //2.实现类去实现Runnable中的抽象方法:run()
    31. @Override
    32. public void run() {
    33. for (int i = 0; i < 100; i++) {
    34. if(i % 2 ==0){
    35. System.out.println(Thread.currentThread().getName()+":"+i);
    36. }
    37. }
    38. }
    39. }