码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-09-29 01:27:09      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

public class Testlvyou extends Thread{

    @Override
    public void run() {
        test();


    }
    
    private void test()
    {
        //用随机数随即一个休眠时间
        Random r=new Random();
        
        int b1=r.nextInt(1000);
        
        for(int i=0;i<10;i++)
        {
            System.out.println(this.getName());
            try {
                Thread.sleep(b1);
            } catch (InterruptedException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            if(i==9)//当随即到最后一个时结束,输出想要去的城市
            {
                System.out.println("我要去的城市是:"+this.getName());
                break;
            }
        }
        
    }
    
}
package zuoye;

public class LvyouTest {

    public static void main(String[] args) {
        
        
        Testlvyou t1=new Testlvyou();
        t1.setName("上海");
        
        t1.start();
        
        Testlvyou t2=new Testlvyou();
        t2.setName("北京");
        t2.start();

    }

}
package zuoye;

import java.util.Random;

public class Testlvyou implements Runnable {

    @Override
    public void run() {
        test();
        
    }

    private void test() {
        //用随机数随即一个随机时间
        
        Random r=new Random();
        
        for(int i=0;i<10;i++)
        {
            int b=r.nextInt(1000);
            System.out.println(Thread.currentThread().getName());
            try {
                Thread.sleep(b);
            } catch (InterruptedException e) {
                // TODO 自动生成的 catch 块
                e.printStackTrace();
            }
            if(i==9)
            {
                System.out.println("我要去的城市是:"+Thread.currentThread().getName());
                break;
            }
        }
    
    }

}
package zuoye;

public class LvyouTest {

    public static void main(String[] args) {
        
        Testlvyou tl=new Testlvyou();
        
        Thread t1=new Thread(tl, "北京");
        
        t1.start();
        
        Thread t2=new Thread(tl, "上海");
        
        t2.start();
                

    }

}

技术分享

 

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

标签:

原文地址:http://www.cnblogs.com/diaozhaojian/p/5918236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!