文章目录
Thread类是jvm用来管理线程的一个类,换句话说,也就是每个线程都有唯一的Thread对象与之关联。
1.1Thread类的常见方法
//简单示例
Thread t1=new Thread();
Thread t2=new Thread(new Runnable() {
@Override
public void run() {
System.out.println();
}
});
Thread t3=new Thread("我的名字");
Thread t4=new Thread(new Runnable() {
@Override
public void run() {
System.out.println("hello");
}
},"我的名字");
1.2Thread的常见属性
id:线程的唯一标识,不同的线程不同
状态表示当前线程所处的情况,后面我们会详细说
理论上来说优先级高的线程更容易被调度
后台线程我们要知道:Jvm会在一个进程的所有非后台线程结束后,才会结束运行
是否存活,简单理解,即run()方法是否运行结束了
注意:在源码当中我们可以看到新创建的线程默认优先级为5
public static final MAX_Priority=10
public static final MIN_Priority=1
优先级的取值为1-10,这个值越大那么它的执行权重就越高,但也与cpu的调度有关,并非绝对按照优先级,会偏心一点。
public class demo extends Thread {
public static void main(String[] args) {
Thread thread=new Thread(()->{
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + "我还活着");
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(Thread.currentThread().getName() + "我即将死去");
});
System.out.println(Thread.currentThread().getName()+":id:"+thread