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


    1. Thread类

    package com.hanqi.xc;
    
    import java.util.*;
    
    public class XuanZeChengShi extends Thread {
        @Override
        public void run() {
                    
            test();
        }
        
        public void test()
        {
            //随机数  随机出休眠时间
            Random a=new Random();        
                    
            for (int i = 0; i < 10; i++) 
            { 
                int b=a.nextInt(1000);            
                System.out.println(this.getName());
                //System.out.println(b);
                try 
                {
                    
                    Thread.sleep(b);
                    
                    
                } 
                catch (InterruptedException e) 
                {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
                //当某个线程输出到第10个的时候    得到要去的城市 并直接结束
                if(i==9)
                {
                    System.out.println("我想去"+this.getName());
                    System.exit(0);
                }
            }
          
        }
        
        public static void main(String[] args) {
            
            
            XuanZeChengShi city1=new XuanZeChengShi();
            city1.setName("北京");      
            city1.start();
        
            
            XuanZeChengShi city2=new XuanZeChengShi();
            city2.setName("上海");       
            city2.start();
        
                
            }   
        
    }

    2.Runnable接口

    package com.hanqi.xc;
    
    import java.util.Random;
    
    public class XuanZeChengShi2 implements Runnable {
    
        @Override
        public void run() {
            //随机数  随机出休眠时间
                    Random a=new Random();        
                            
                    for (int i = 0; i < 10; i++) 
                    { 
                        int b=a.nextInt(1000);            
                        System.out.println(Thread.currentThread().getName());
                        //System.out.println(b);
                        try 
                        {
                            
                            Thread.sleep(b);
                            
                            
                        } 
                        catch (InterruptedException e) 
                        {
                            // TODO 自动生成的 catch 块
                            e.printStackTrace();
                        }
                        //当某个线程输出到第10个的时候    得到要去的城市 并直接结束
                        if(i==9)
                        {
                            System.out.println("我想去"+Thread.currentThread().getName());
                            System.exit(0);
                        }
                    }
    
        }    
            public static void main(String[] args) {


              XuanZeChengShi2 city1=new XuanZeChengShi2();
              Thread t1 = new Thread(city1,"北京") ;
              t1.start();


              XuanZeChengShi2 city2=new XuanZeChengShi2();
              Thread t2 = new Thread(city2,"上海") ;
              t2.start();

    
        
                
            }   
    
    }

  • 相关阅读:
    【翻译/介绍】jump consistent hash:零内存消耗,均匀,快速,简洁,来自Google的一致性哈希算法 [2015-03-13]
    现代密码学实践指南[2015年]
    本博客迁走了
    高性能web系统的架构和系统优化
    vs 2013调试的时候重启的解决方案
    年会与项目管理
    javascript 关闭窗口,弹出新窗口并带有确认关闭对话框解决办法
    成长
    POCO exception
    通过OpenGL ES在iOS平台实践增强现实(二)
  • 原文地址:https://www.cnblogs.com/wenwen123/p/5557519.html
Copyright © 2020-2023  润新知