初步学习多线程3

java源码展示:

兔子线程:RabbitThread.java

package thread;
/**
 * 兔子的线程
 * @author superdrew
 */
public class RabbitRunnable implements Runnable{
    public void run() {
        while(true){
            System.out.println("兔子领先了....加油!!!!"+
        Thread.currentThread().getName()+" "+Thread.currentThread().getPriority());
        }
    }
}

乌龟线程:TortoiseThread.java

package thread;

import java.util.Scanner;

public class TortoiseThread extends Thread{
    
    private String name;
    
    public TortoiseThread(){}
    
    //传值给父类的Thread的构造方法
    public TortoiseThread(String name){
        super(name);
    }
    
    public void run() {
        while(true){
            Scanner sc = new Scanner(System.in);
            System.out.println("乌龟领先了。。。加油。。。。。。"+getName() +" "+getPriority());
        }
    }
}

测试线程:TestThread_main.java

package thread;

/**
 * 功能:龟兔赛跑
 *            使用线程
 * @author superdrew
 *     
 *         灵活实现多线程
 *         此时有几个线程? 3个   main  乌龟线程  兔子线程 
 *         如何给线程取名字  实现了接口的  Thread.setName  
 *             继承Thread    第一种  setName() 父类的
 *                                第二种  通过构造方法将值传递给父类Thread
 * 
 *         常用的方法:run()   start()  Thread.currentThread()  getName()
 *                 setName()  getPriority()  setPriority()
 * 
 *         所有的人来参加赛跑比赛 ,使用线程    那么 写100个线程?
 *         新建一个选手的线程       
 *             1.选手名字
 *             2.线程名字 
 *
 */
public class TestThread {
    public static void main(String[] args) {
        
        //兔子线程
        RabbitRunnable rr = new RabbitRunnable();   
        Thread tr = new Thread(rr);
        tr.setName("兔子线程");   //给线程设置名字
        tr.start();   //启动兔子的线程
        
        //乌龟线程
        TortoiseThread tt = new TortoiseThread("乌龟线程");
        tt.setName("乌龟线程");  //给线程设置名字
        tt.start();
    }
}

 

posted @ 2017-12-23 11:21  superdrew  阅读(188)  评论(0编辑  收藏  举报