【JAVA SE基础篇】57.线程礼让、插队、优先调用、守护线程与其他
1.线程礼让
礼让线程,让当前正在执行线程暂停
不是阻塞线程,而是将线程从运行状态转入就绪状态
让cpu调度器重新调度
例:
例
2.线程合并
join合并线程,待此线程执行完成后,再执行其他线程,其他线程阻塞
例:
例:
3.线程的状态
4.线程优先级
Java提供一个线程调度器来监控程序中启动后进入就绪状态的所有线程。线程调度器按照线程的优先级决定应调度哪个线程来执行
线程的优先级用数字表示,范围从1到10
Thread.MIN PRIORITY=1
Thread.MAX PRIORITY=10
Thread.NORM PRIORITY=5(默认)
使用下述方法获得或还是设置线程对象的优先级
int getPriority();
void setPriority(int new Priority);
优先级的设定建议在start()调用前
注:优先级低只是意味着获得调度的概率低。并不是绝对先调用优先级高后调用优先级低的线程
例:
5.守护线程
线程分为用户线程和守护线程
虚拟机必须确保用户线程执行完毕
虚拟机不用等待守护线程执行完毕
如后台记录操作日志、监控内存使用等
例:
6.其他方法
1.isAlive:判断线程是否还活着,即线程是否终止
2.setName:给线程起名
3.getName:获取线程名称
4.currentThread():取得当前正在运行的线程对象,也就是获取自己本身
例: