Thread 相关概念
线程是系统资源分配的最小单位,它被包含在进程之中,是进程中的实际运作单位。JVM 允许应用程序同时运行、执行多个线程,每个线程都有优先权,具有较高优先级的线程优先于优先级较低的线程执行
在Java中线程分为两类:User Thread(用户线程)
、Daemon Thread(守护线程)
在JVM启动时候会调用main函数,main函数所在的线程是就是一个用户线程,在此线程中新建的线程默认都是用户线程,但通过 Thread.setDaemon(true) 可设置守护线程(需在 Thread.start() 前调用)。守护线程是JVM中所有非守护线程的保姆,守护线程最典型的应用就是 GC (垃圾回收器)
只要当前JVM实例中尚存在任何一个非守护线程没有结束,守护线程就全部工作,当JVM中的最后一个用户线程结束时,守护线程随着JVM一同结束
Thread 创建方式
创建线程的方式有两种:继承 Thread 类
、实现 Runnable 接口
Thread 类本身也是通过实现 Runnable 接口来完成创建的。创建线程时可以为线程指定名称,名称可重复。如果在创建线程时未指定名称,则会为其生成新名称
继承 Thread 类创建与启动&