xoxobool

成功者,永远成功,失败者,永远失败,我要面对者,走向成功!

导航

java 基础--多线程基础练习

1.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。

import java.util.Random;

//多线程类
//1.是Thread的子类
//2.重写run方法
public class Test01 extends Thread{

    @Override
    public void run() {
        
        
        for(int i=0;i<10;i++)
        {
            System.out.println(Thread.currentThread().getName());

            Random ran = new Random();
            int a1=ran.nextInt(1000);
            try {
                Thread.sleep(a1);
            } catch (InterruptedException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
        }
    }

    
}
public class Test02 {

    public static void main(String[] args) {
        Test01 t1 = new Test01();
        t1.setName("重庆");
        t1.start();
        Test01 t2 = new Test01();
        t2.setName("四川");
        t2.start();
        
    }

}

import java.util.Random;

public class Test03 implements Runnable {

    @Override
    public void run() {
        // TODO 自动生成的方法存根
        for(int i=0;i<10;i++)
        {
            System.out.println(Thread.currentThread().getName());
            Random ran = new Random();
            int a1=ran.nextInt(1000);
            try {
                Thread.sleep(a1);
            } catch (InterruptedException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
        }
    }

}
import com.hanqi.test.Test03;

public class Test04 {

    public static void main(String[] args) {
        // 启动接口方式的多线程
        //不能直接启动
        Test03  t3 =new Test03();
        //需要构造Thread,把Runnable的实现类的实例给他
        Thread td = new Thread(t3);
        //修改线程的名称
        td.setName("四川");
        //启动线程
        td.start();
        Thread td1= new Thread(t3);
        td1.setName("重庆");
        td1.start();
        
    }

}

 

posted on 2016-09-28 21:00  春之林木  阅读(390)  评论(0编辑  收藏  举报