多线程练习
1.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。
接口Runnable:
package com.xiancheng; import java.util.Random; public class Lvyou2 implements Runnable { @Override public void run() { Random ra=new Random(); int ra1=ra.nextInt(1000); for(int i=0;i<10;i++) { System.out.println("旅游的城市是: "+Thread.currentThread().getName()); } System.out.println(Thread.currentThread().getName()+"显示完毕,"); try { Thread.sleep(ra1); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }
继承Thread:
package com.xiancheng; import java.util.Random; public class lvyou1 extends Thread { @Override public void run() { Random ra=new Random(); int ra1=ra.nextInt(1000); for(int i=0;i<10;i++) { System.out.println("旅游的城市是: "+Thread.currentThread().getName()); } System.out.println(Thread.currentThread().getName()+"显示完毕"); try { Thread.sleep(ra1); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }
结果: