Java多线程 小知识 守护线程(后台线程)setDaemon、join方法、优先级、yield方法
来源:互联网 发布:java 0x 转换 int 编辑:程序博客网 时间:2024/06/10 00:31
守护线程就是后台线程, 当前台线程停止运行以后,后台线程就自动停止,Java虚拟机退出。
setDaemon(true); //*******必须写在线程启动之前
class StopThread implements Runnable{private boolean flag =true;public void run(){while(flag){System.out.println(Thread.currentThread().getName()+"....run");}}public void changeFlag(){flag = false;}}class StopThreadDemo{public static void main(String[] args) {StopThread st = new StopThread();Thread t1 = new Thread(st);Thread t2 = new Thread(st);t1.setDaemon(true); //*******必须写在线程启动之前t2.setDaemon(true);t1.start();t2.start();int num = 0;while(true){if(num++ == 60){//st.changeFlag();//t1.interrupt();//t2.interrupt();break;}System.out.println(Thread.currentThread().getName()+"......."+num);}System.out.println("over");}}
join:
当A线程执行到了B线程的.join()方法时,A就会等待。等B线程都执行完,A才会执行。
join可以用来临时加入线程执行。
假如B被一直挂起了,那么A线程也将一直挂起
setPriority:
Thread.MAX_PRIORITY
Thread.MIN_PRIORITY
设置线程优先级线程默认优先级为5,一共是1~10。优先级高的线程执行的频率会比优先级低的线程高。
yield:
暂停当前执行的线程对象,去执行其它线程。
效果: 以下程序 线程的交替频率提高。
/*join:当A线程执行到了B线程的.join()方法时,A就会等待。等B线程都执行完,A才会执行。join可以用来临时加入线程执行。*/class Demo implements Runnable{public void run(){for(int x=0; x<70; x++){System.out.println(Thread.currentThread().toString()+"....."+x);Thread.yield();}}}class JoinDemo{public static void main(String[] args) throws Exception{Demo d = new Demo();Thread t1 = new Thread(d);Thread t2 = new Thread(d);t1.start();//t1.setPriority(Thread.MAX_PRIORITY);t2.start();//t1.join();for(int x=0; x<80; x++){//System.out.println("main....."+x);}System.out.println("over");}}
0 0
- Java多线程 小知识 守护线程(后台线程)setDaemon、join方法、优先级、yield方法
- 黑马程序员------多线程(No.3)(停止线程、守护线程、Join方法、优先级&yield方法、总结)
- Java-----多线程小知识点:join()方法和守护线程
- 多线程:interrupt()方法 守护线程 join()方法 及优先级
- 黑马程序员——Java多线程—join、sleep、yield、后台线程、线程优先级
- ——多线程的优先级,setDaemon方法,yield方法及join方法简述
- 多线程基础四(三)、yield方法、线程优先级以及守护线程
- java的调度、优先级setPriority、yield、jion和守护线程setDaemon
- 黑马程序员_day12 多线程(线程间通信,停止线程,守护线程,Join方法,优先级)
- java#4 控制线程(join),后台线程,线程睡眠(sleep),线程让步(yield),线程优先级
- 多线程—04—守护线程、interrupt、join、yield、线程优先级
- (54)守护线程 setDaemon方法
- Java多线程-(5)线程的优先级、sleep()、yield()、join()
- java线程wait,notify,yield,join方法
- Java 线程yield 与 join 方法区别
- 黑马程序员:Java基础——多线程的停止与守护以及Join,优先级和yield方法
- 守护线程java thread setDaemon
- java的守护线程setDaemon
- Android开发之Intent
- 自定义双向动态密码简介
- 基于卷积神经网络的数据预处理以及模型参数保存
- 火狐的旺旺和支付宝控件总是需要反复点击确认?
- nefu 520
- Java多线程 小知识 守护线程(后台线程)setDaemon、join方法、优先级、yield方法
- leetcode-52-N-Queens II
- 工业4.0从构建全生命周期数据图谱开始
- sysbench压力测试,mysql压力测试
- python爬取多页gif图像
- leetcode-6ZigZag Conversion
- 黑马程序员--泛型
- 上门洗车APP --- Android客户端开发 之 网络框架封装介绍(一)
- windows程序设计(滚动条)