微信登录

css继承性

  1. //1. 创建一个实现了Runnable接口的类
  2. class MThread implements Runnable{
  3. //2. 实现类去实现Runnable中的抽象方法:run()
  4. @Override
  5. public void run() {
  6. //代码
  7. }
  8. }
  9. public class ThreadTest1 {
  10. public static void main(String[] args) {
  11. //3. 创建实现类的对象
  12. MThread mThread = new MThread();
  13. //4. 将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
  14. Thread t1 = new Thread(mThread);
  15. t1.setName("线程1");
  16. //5. 通过Thread类的对象调用start():① 启动线程 ②调用当前线程的run()-->调用了Runnable类型的target的run()
  17. t1.start();
  18. //再启动一个线程,遍历100以内的偶数
  19. Thread t2 = new Thread(mThread);
  20. t2.setName("线程2");
  21. t2.start();
  22. }
  23. }

创建多线程的方式二:实现Runnable接口

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

比较创建线程的两种方式。
开发中:优先选择:实现Runnable接口的方式
原因:

  1. 实现的方式没有类的单继承性的局限性
  2. 实现的方式更适合来处理多个线程有共享数据的情况。