线程,是进程下面的一个单位,一个进程可以由很多个线程组成。为了提高CPU的使用率,Java提供了多线程编程。今天,就让我们来学习一下Java里面多线程最基础的一个类Thread。
1.线程的状态: NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED。
2.每个Thread都有一个优先级priority,优先级高的线程优先执行。优先级的大小可通过setPriority(int newPriority)设置,范围是 [1,10],超过该范围会抛出IllegalArgumentException。
3.Java线程分为用户线程和守护线程,它们的区别在于:主线程结束后,用户线程依旧会执行,JVM处于存活状态;主线程结束后,如果没有用户线程(全都是守护线程),那么守护线程结束,JVM关闭。守护线程也称为服务线程,主要是为了给用户线程提供服务,在没有用户线程可服务时会自动消亡。Thread可以通过setDaemon(boolean on)设置。
4.eg:用户线程,JVM启动调用main函数的线程。守护线程,GC线程。
5.新创建的线程的优先级跟父线程一致,是否是守护线程也跟父线程一致。
//thread构造方法
private void init(ThreadGroup g, Runnable target, String name,