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

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();

    }

}

时间: 2024-12-23 08:01:05

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

Java多线程练习去那个城市

随便选择两个城市作为预选旅游目标.实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市.分别用Runnable接口和Thread类实现. 1.Thread类 import java.util.*; public class City extends Thread { @Override public void run() { test(); } public void test() { // 随机数 随机出休眠时间 Random

Java多线程的两种实现方式:继承Thread类 &amp; 实现Runable接口

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! 创建和启动线程的两种传统方式: Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法: ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法.

线程的启动的两种方法,Runnable接口,run()的调用

实现并启动线程有两种方法1.写一个类继承自Thread类,重写run方法.用start方法启动线程2.写一个类实现Runnable接口,实现run方法.用new Thread(Runnable target).start()方法来启动 多线程原理:相当于玩游戏机,只有一个游戏机(cpu),可是有很多人要玩,于是,start是排队!等CPU选中你就是轮到你,你就run(),当CPU的运行的时间片执行完,这个线程就继续排队,等待下一次的run(). 调用start()后,线程会被放到等待队列,等待C

基于jQuery仿去哪儿城市选择代码

基于jQuery仿去哪儿城市选择代码.这是一款使用的jQuery城市选择特效代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="lineSearch"> <ul> <li class="thRelative" id="hhDrop00"> <div class="boxSearch"> <span class="k

解决dede搜索页面只能显示10条信息解决方案

解决dede搜索页面只能显示10条信息解决方案,感觉显示的信息太少,这时就要想办法去解决一下.看看有什么好办法来解决一下这个问题. dede搜索页模板中,默认只能显示10条记录. 打开dede搜索页模板search.htm,发现标签搜索{dede:list perpage='10'} 即使修改了参数,如{dede:list perpage='20'},发现dede搜索页搜索的结果依然是一页10条记录. 两种方法可以解决这个问题: 1.可以在dede模板的开始搜索按钮前加入<input type=

实现多线程的两种方法:继承Thread类或实现Runnable接口

实现多线程的两种方法:继承Thread类或实现Runnable接口 Java中实现多线程有两种方法:继承Thread类和实现Runnable接口,在程序开发中只要是多线程,我们一般都是实现Runnable接口,原因归结为一点:实现接口比继承类要好. 多线程的第一种实现方式:继承Thread类 步骤如下 创建一个继承Thread的类(假定为A),并重写Thread的run方法 构造一个A类对象,假定为aa 调用aa的start方法.(start方法是从Thread继承过来的) 具体例子如下 pac

MySQL显示连接的数据库名

在默认下,MySQL在use databasename的时候,是不显示连接的库名! mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || hank               || mysql              || performance_schema || sakila             || test    

图片轮播_支持显示网络图片及下载图片至SD后再显示

现在的移动应用, 很常见的一个交互效果就是在首页顶部添加图片轮播的控件, 焦点图可以放入广告, 也可以放入文章的内容图片, 它们不断自动切换, 点击焦点图即跳至对应的界面. 交互效果很棒. 做图片轮播的效果, 方法并不少. 本文使用了常见的viewpager 去实现. 支持显示网络图片下载在缓存显示, 如果有SD卡则默认将图片下载至SD卡中再显示本地的图片. 其实网上这类代码已经很多,  应该也有很多写得比我好. 今天有点时间, 就做了个来练手, 顺便写下自己第一篇原创文章. 敲代码之前也参考了

解决:People下面选择分享可见联系人,选择多个联系人后通过短信分享,短信中只显示一个联系人

问题描述: [操作步骤]:People下导入导出中选择分享可见联系人,选择多个联系人后通过短信分享 [测试结果]:短信中只能显示一个联系人 [预期结果]:可以显示多个联系人 经过代码分析,从compose_message_activitu.xml中的ViewStub进行定位到现实联系人名片的视图: <ViewStub android:id="@+id/vcard_attachment_view_stub" android:layout="@layout/vcard_at