java的调度、优先级setPriority、yield、jion和守护线程setDaemon
来源:互联网 发布:谢云流传 知乎 编辑:程序博客网 时间:2024/06/02 08:17
package LyfPractice;/** * Created by fangjiejie on 2016/12/15. */public class SThread { public static void main(String[] args) { /* S s1=new S(); S s2=new S(); s1.setName("s1号"); s2.setName("s2号"); s1.setPriority(10); s2.setPriority(1); s1.start(); s2.start();*/ ![这里写图片描述](http://img.blog.csdn.net/20161215214214639?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3R1YmJvcm5BY2NlcHRlZA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)M3 m3=new M3(); m3.setDaemon(true);//设置为守护线程 m3.start(); M1 m1=new M1(); M2 m2=new M2(); m1.setName("m1号线程"); m2.setName("m2号线程"); m1.setPriority(10); m2.setPriority(1);//设置线程的优先级1~10 m1.start(); m1.yield();//yield明确的让出当前线程的控制权 m2.start(); try { m1.join();//当在某个程序执行流中调用其他线程的jion()方法时,调用线程将被阻塞,直到jion方法加入的 jion线程完成为止 } catch (InterruptedException e) { e.printStackTrace(); } for(int i=100;i>=0;i--){ System.out.println(Thread.currentThread().getName()+"hahahahaha"); } }}class M1 extends Thread{ @Override public void run() { for(int i=100;i>=0;i--){ System.out.println(Thread.currentThread().getName()+": "+i); } }}class M2 extends Thread{ @Override public void run() { for(int i=0;i<=100;i++){ //this.yield(); System.out.println(Thread.currentThread().getName()+": "+i); } }}class M3 extends Thread{ @Override public void run() { for(int i=0;i<10000;i++){ System.out.println(">>"); } }}
setPriority():
更改线程的优先级。
线程总是存在优先级,优先级范围在1~10之间。JVM线程调度程序是基于优先级的抢先调度机制。在大多数情况下,当前运行的线程优先级将大于或等于线程池中任何线程的优先级。但这仅仅是大多数情况。
yield() :
Yield()方法是暂停当前线程,让同等优先权的线程运行。如果没有同等优先权的线程,那么Yield()方法将不会起作用。
因此,使用yield()的目的是让相 同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。
join()方法:
保证当前线程停止执行,直到该线程所加入的线程完成为止。在执行下一个线程
守护线程:
0 0
- java的调度、优先级setPriority、yield、jion和守护线程setDaemon
- java 多线程(2) 线程的调度和优先级 / sleep() / interrupt() 打断join() / yield() / setPriority()
- JAVA之旅(十五)——多线程的生产者和消费者,停止线程,守护线程,线程的优先级,setPriority设置优先级,yield临时停止
- Java多线程 小知识 守护线程(后台线程)setDaemon、join方法、优先级、yield方法
- java的守护线程setDaemon
- 线程的yield方法和jion方法
- 守护线程java thread setDaemon
- java停止线程 interrupt 和守护线程setDaemon
- 学习日记java 线程的停止,jion,yield
- java的守护进程setDaemon
- java个人学习笔记20(wait()和sleep()区别+停止线程+interrupt()+join()+setDaemon()+setPriority()+多线程常见写法)
- Java线程:线程的调度-守护线程
- Java线程:线程的调度-守护线程
- Java线程:线程的调度-守护线程
- Java线程:线程的调度-守护线程
- Java线程:线程的调度-守护线程
- Java线程:线程的调度-守护线程
- Java线程:线程的调度-守护线程
- POJ 3662 Telephone Lines 已翻译
- Excel2013 表格常用技巧
- 解决hao123劫持chrome主页问题
- 学习笔记之——仿途牛详情界面标题栏透明度渐变
- PAT A1025
- java的调度、优先级setPriority、yield、jion和守护线程setDaemon
- HDFS-基础命令整理
- Linux冬瓜皮(DHCP)
- bzoj4720
- 每日知识点
- mysql安装
- 安装PhantomJS
- Linux下Tomcat使用80端口
- C语言学习笔记--基础语法一