线程练习
随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。
Runnable接口代码:
package xiancenglianxi; import java.util.Random; public class test1 implements Runnable { @Override public void run() { for(int i=0;i<10;i++) { System.out.println("Runnable接口"+Thread.currentThread().getName()); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } } }
Thread类代码:
package xiancenglianxi; import java.util.Random; public class test2 extends Thread{ //重写run @Override public void run() { // TODO 自动生成的方法存根 test(); } public void test() { for(int i=0;i<10;i++) { System.out.println("Thread类"+Thread.currentThread().getName()); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } } }
测试代码:
package xiancenglianxi; import xiancheng.test3; public class test { public static void main(String[] args) { Thread th=new Thread(new test1()); th.setName("江西"); th.start(); Thread th1=new Thread(new test1()); th1.setName("湖南"); th1.start(); test2 t=new test2(); t.setName("江西"); t.start(); test2 t1=new test2(); t1.setName("湖南"); t1.start(); } }
Runnable接口测试结果:
Thread类运行结果: