目录
  1. 1. 实现多线程的两种方法
    1. 1.1. 继承 Thread 类开发多线程
    2. 1.2. 实现 Runnable 接口开发多线程
  2. 2. 两种方法比较
Java学习之旅————多线程

多线程(Thread)是软件开发中的重要内容,实际上,多线程最直观的说法是让应用程序看起来好像同时能做好几件事情

线程是独立的线程。它代表独立的执行空间。在Java中,要建立新的线程就得创建 Thread,CPU会在执行空间非常快速地来回切换。因为CPU速度很快,所以你会感觉CPU同时在做好几件事

  • 要记得,Java也只是个在底层操作系统上执行的进程。一旦轮到Java执行的时候,JVM实际执行的是执行空间最上面的字节码!在某个时间片内,目前执行程序代码会被切换到不同空间上的不同方法。
  • 线程要记录的一项事情是目前线程执行空间做到哪里:保护现场

实现多线程的两种方法

继承 Thread 类开发多线程

  1. 编写一个类,继承 java.lang.Thread

    1
    class MyThread extends Thread
  2. 在这个类重写 java.lang.Thread 类中的函数:

    1
    public void run(){}
  3. 实例化线程对象,调用其 start() 函数启动该线程

    1
    2
    MyThread thread = new MyThread();
    thread.start();

实现 Runnable 接口开发多线程

  1. 编写一个类,实现 java.lang.Runnable 接口

    1
    class MyRunnable implements Runnable
  2. 在这个类中重写 java.lang.Runnable 接口中的函数:

    1
    public void run(){}
  3. 实例化 java.lang.Thread 对象,实例化上面编写的 Runnable 实现类,将后者传入 Thread 对象的构造函数,调用 Thread 对象的 start() 函数来启动线程

    1
    2
    3
    Runnable threadJob = new MyRunnable();
    Thread thread = new Thread(threadJob);
    thread.start();

两种方法比较

  1. 第一种每个对象都是一个线程,而第二种每个对象不是一个线程,必须将其传入Thread对象才能运行
  2. 第一种每个线程都有自己的成员变量,而第二种共享成员变量
  3. Java不支持多重继承,只能继承一个类,但是可以实现多个接口,第一种方法虽然较简单,但是扩展性没有第二种强
文章作者: EasonZzZz
文章链接: http://yoursite.com/2019/10/23/学习/Java学习/Java学习之旅——多线程/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Nice To Meet U