java 第57节 线程调度的三个方法
Posted 岑亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 第57节 线程调度的三个方法相关的知识,希望对你有一定的参考价值。
2016-07-01
package com.java1995; import java.util.Date; /** * 休眠方法sleep() * @author Administrator * */ public class TestSleep { public static void main(String[] args) { // for(int i=0;i<10;i++){ // System.out.println(i); // try { // Thread.sleep(200); // } catch (InterruptedException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // } while (true){ System.out.println(new Date()); try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
package com.java1995; /** * 挂起方法join() * @author Administrator * */ public class TestJoin { public static void main(String[] args) { MyThread mt=new MyThread(); mt.start(); for(int i=0;i<10;i++){ if(i==5){ try { mt.join(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("*********"); } } } class MyThread extends Thread{ public void run(){ for(int i=0;i<10;i++){ System.out.println("+++++++++++++++++++"); } } }
package com.java1995; /** * 暂停方法yield() * @author Administrator * */ public class TestYield { public static void main(String[] args) { Thread t1=new Thread(new MyRunnable1()); Thread t2=new Thread(new MyRunnable2()); t1.start(); t2.start(); } } class MyRunnable1 implements Runnable{ @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<200;i++){ System.out.print("+"); Thread.yield(); } } } class MyRunnable2 implements Runnable{ @Override public void run() { // TODO Auto-generated method stub for(int i=0;i<200;i++){ System.out.print("*"); Thread.yield(); } } }
以上是关于java 第57节 线程调度的三个方法的主要内容,如果未能解决你的问题,请参考以下文章
阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_3_线程安全问题产生的原理