MyThread t = new MyThread();
1、String getName()
细节:
如果没有给线程设置名字,线程也是有默认的名字的
格式:Thread-X(X序号,从0开始)
2、void setName(String name)
细节:
如果要给线程设置名字,可以用set方法进行设置,也可以构造方法设置
3、static Thread currentThread()
细节:
当JVM虚拟机启动之后,会自动的启动多条线程
其中有一条线程就叫做main线程
它的作用就是去调用main方法,并执行里面的代码
在以前,我们写的所有的代码,其实都是运行在main线程当中
4、static void sleep(long time)
细节:
(1)哪条线程执行到这个方法,那么哪条线程就会在这里停留对应的时间
(2)方法的参数:就表示睡眠的时间,单位为毫秒
1s=1000ms
(3)当时间到了之后,线程会自动醒来,继续执行下面的其他代码
Java中线程的调度为抢占式调度,即结果随机,线程优先级越高,抢占到CPU的概率越大
5、setPriority(int newPriority)
6、final int getPriority()
细节:线程默认的优先级为5,最小为1,最大为10,数值越大,优先级越高。
优先级越高的线程先执行完的概率会高,但不一定。
7、final void setEaemon(boolean on)
//设置为守护线程(备胎线程)
细节:当其他的非守护线程执行完毕之后,守护线程会陆续结束(注意:不是马上结束)。
通俗来讲,就是当非守护线程结束后,非守护线程也没有存在的必要了。
8、public static void yield()
方法调用:
Thread.yield(); //表示出让当前CPU的执行权,即每次重新抢占CPU
这样可以让结果尽可能更均匀一些
9、public final void join()
e.g
t.join(); //表示把t这个线程,插入到当前线程(当前执行的代码所在的线程,如:main线程)之前。
标签:多线程,优先级,void,常见,细节,线程,main,成员,守护 From: https://www.cnblogs.com/qiqi-yi/p/17262451.html