java中 sleep线程睡眠 Join线程独占 Yeile 线程让步 Interrupt线程中断 Deamon后台线程
来源:互联网 发布:数据库抽取0或null 编辑:程序博客网 时间:2024/06/04 08:12
Sleep
package 线程生命周期;public class TestSleep {public static void main(String[] args) {// TODO Auto-generated method stubMyThread mythread = new MyThread();mythread.start();//子线程,每隔50毫秒输出一行字try {MyThread.sleep(2000);//这个是暂定的是主线程的} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}for (int i = 1; i < 20; i++) {System.out.println("main:"+i);}}}//输出1-100的数class MyThread extends Thread{public void run(){for (int i = 1; i <= 100; i++) {System.out.println(i);try {Thread.sleep(50);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
Join
package 线程生命周期;public class TestJoin {public static void main(String[] args) {// TODO Auto-generated method stubMythread3 th1 = new Mythread3();th1.setI(20);Mythread3 th2 = new Mythread3();th2.setI(100);/*//交替输出th1.start();th2.start();*///先执行th1th1.start();try {th1.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}th2.start();}}class Mythread3 extends Thread{private int i;public int getI() {return i;}public void setI(int i) {this.i = i;}@Overridepublic void run() {// TODO Auto-generated method stubsuper.run();for (int j = i; j < i + 50; j++) {System.out.println(j);try {Thread.sleep(10);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
Yeile
package 线程生命周期;public class TestYeile {public static void main(String[] args) {// TODO Auto-generated method stub//创建三个优先级不一样的线程 10 5 1的时候都是高的在执行所以全部选5new MyThread2("低级",5).start();new MyThread2("高级",5).start();new MyThread2("中级",5).start();}}//结合线程信息输出1-10class MyThread2 extends Thread{public MyThread2() {super();// TODO Auto-generated constructor stub}//创建一个构造方法用于给线程命名以及优先级public MyThread2(String name,int pro){super(name);setPriority(pro);}public void run(){for (int i = 1; i <= 20; i++) {System.out.println(getName()+"线程第"+i+"次运行");if(i == 5)Thread.yield();//线程让步}}}
Interrupt线程中断
package 线程生命周期;import java.util.Scanner;public class TestInterrupt {public static void main(String[] args) {// TODO Auto-generated method stubMyThread4 th4 = new MyThread4();th4.start();try {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("是否中断打印");boolean flag = true;if(flag)th4.interrupt();}}//无限次打印iclass MyThread4 extends Thread{int i = 0;@Overridepublic void run() {// TODO Auto-generated method stubsuper.run();while(true){System.out.println(i);try {Thread.sleep(500);} catch (InterruptedException e) {// TODO Auto-generated catch blockSystem.out.println("程序执行被中断了");return;//e.printStackTrace();}i++;}}}
Deamon后台线程
package 线程生命周期;public class TestDeamon {public static void main(String[] args) {// TODO Auto-generated method stubMyThread5 th5 = new MyThread5();MyDeamon myd = new MyDeamon();myd.setDaemon(true);myd.start();th5.start();}}class MyThread5 extends Thread{@Overridepublic void run() {// TODO Auto-generated method stubsuper.run();for (int i = 1; i <= 5; i++) {System.out.println("前台线程第"+i+"次执行");try {Thread.sleep(200);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}class MyDeamon extends Thread{@Overridepublic void run() {// TODO Auto-generated method stubsuper.run();for (int i = 1; i <= 5; i++) {System.out.println("后台线程第"+i+"次执行");try {Thread.sleep(10);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
0 0
- java中 sleep线程睡眠 Join线程独占 Yeile 线程让步 Interrupt线程中断 Deamon后台线程
- java#4 控制线程(join),后台线程,线程睡眠(sleep),线程让步(yield),线程优先级
- Java 线程中断、线程让步、线程睡眠、线程合并
- 线程睡眠 线程让步
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- Java线程(四):线程中断、线程让步、线程睡眠、线程合并
- 第四周项目3单链表的应用(3)
- 【opencv2操作之HoughLinesP参数解释及实例展示】
- java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()
- navicat常用快捷键
- JSPservlet跳转页面404错误
- java中 sleep线程睡眠 Join线程独占 Yeile 线程让步 Interrupt线程中断 Deamon后台线程
- C++ 资源
- 第六周项目1-建立顺序栈算法库
- 第四周 单链表的应用(3)——递增判断
- Android线程池
- 第七周项目四~~队列数组
- 第四周实践项目~猴子选大王
- 从源码的角度说说Activity的setContentView的原理(二)
- 用Collection.sort对List做排序