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(); } }
看到她们快乐的晒,我就放心了,我要去炼淬了