跳过正文
  1. Posts/

JAVA编程进阶(2)

·136 字·1 分钟

线程的定义以及创建
#

多线程
#

进程:一个内存中正在运行的应用程序

线程:是最小的执行单元,一个进程中可以有多个线程。

并发:多个事件在同一时间段内发生。

并行:多个事件在同一时刻发生。

在这之前,接触的都是单线程,即一个线程结束后才开始另一个线程的执行;多个线程同时执行任务,叫多线程。

线程的创建
#

创建线程需要继承Thread类

  1. 定义Thread类的子类,并且重写该类的run()方法,该run()的方法体就代表了线程需要完成的任务,因此run()方法也称为线程执行体。

  2. 创建Thread子类的类对象,即线程对象

  3. 调用线程对象的start()方法来启动线程。

    Thread类常用方法
    #

    1. public Thread();
    2. public Thread(String name);
    3. public String getName();获取当前线程的名称。
    4. public void start();启动线程,开始执行线程中的run方法
    5. public void run();线程要执行的任务在此处定义
    6. public static Thread currentThread();返回正在执行的线程对象的引用。
public class Demo2 extends Thread {
    public static void main(String[] args) {

        Demo2 demo2 = new Demo2(); //实现线程
        demo2.start(); //start()调用启动线程

    }

    public void run(){  //重写线程run方法
        for(int Time = 0; Time <= 20; Time ++) {
            System.out.print(Time + " ");
        }
    }

}

输出结果:

Thread

线程的创建,实现Runnable接口
#

因为在java中只支持单继承,一个类如果继承了Thread类,就没办法继承别的类,因此可以通过去实现一个接口,创建线程对象,这样该类就可以去继承别的类了。

  • 定义Runnable接口的实现类,并重写该接口的run()方法,该run()的方法体就代表了线程需要完成的任务,因此run()方法也称为线程执行体。

  • 创建Runnable实现类的类对象,并以此类对象作为Thread的参数来创建Thread对象,该对象才是真正的线程对象。

3.调用线程对象的start()方法启动线程。

class TestThread implements Runnable{ //实现Runnable
    @Override
    public void run() {
        for(int Time = 0; Time <= 10; Time ++) {
            System.out.print(Time + " ");
        }
    }
}

public class Demo2  {  //运行测试
    public static void main(String[] args) {
        TestThread testThread = new TestThread();
        Thread thread = new Thread(testThread);
        thread.start();

    }
}

输出结果:

Xenolies
作者
Xenolies
Keep On Keeping On