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节 线程调度的三个方法的主要内容,如果未能解决你的问题,请参考以下文章

《多线程》第7节:线程组

阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第3节 线程同步机制_3_线程安全问题产生的原理

阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第5节 线程池_2_线程池的代码实现

java 多线程——quartz 定时调度的例子

java 第59节 同步问题Java的解决方案

java 第54节 继承Thread类创建线程