java线程
package xiancheng; //Thread类实现了Runnable 接口 //比较两者的范例 //程序ThreadDemo_3.java 是一饿模拟铁路售票系统的范例,实现4个售票点来发售某日某次列车的车票20张,一个售票点用一个线程来表示。 public class ThreadDemo_3{ public static void main(String[] args){ // TestThread t= new TestThread(); // //一个线程对象只能启动一次 // t.start(); // t.start(); // t.start(); // new TestThread().start(); // new TestThread().start(); // new TestThread().start(); // new TestThread().start(); // //这四个对象各自有各自的资源,可以得出结论:用Thread类实际上无法达到自愿共享的目的 // TestThread t= new TestThread(); //启动了四个线程,并实现自愿共享的目的 new Thread(t).start(); new Thread(t).start(); new Thread(t).start(); new Thread(t).start(); } } //class TestThread extends Thread{ // private int tickets=20; // public void run(){ // while(true){ // if(tickets>0){ // System.out.println(Thread.currentThread().getName()+"出售票"+tickets--); // //Thread.currentThread().getName() 取得当前线程的名称 // } // } // // } //} class TestThread implements Runnable{ private int tickets=100; public void run(){ while(true){ if(tickets>0){ System.out.println(Thread.currentThread().getName()+"出售票"+tickets--); } } } }
一共对比了三种实现的方法
上述代码执行结果
Thread-0出售票100 Thread-0出售票99 Thread-0出售票98 Thread-0出售票97 Thread-0出售票96 Thread-0出售票95 Thread-0出售票94 Thread-0出售票93 Thread-0出售票92 Thread-0出售票91 Thread-0出售票90 Thread-0出售票89 Thread-0出售票88 Thread-0出售票87 Thread-0出售票86 Thread-0出售票85 Thread-0出售票84 Thread-0出售票83 Thread-0出售票82 Thread-1出售票81 Thread-0出售票80 Thread-1出售票79 Thread-0出售票78 Thread-1出售票77 Thread-0出售票76 Thread-2出售票74 Thread-1出售票75 Thread-2出售票72 Thread-0出售票73 Thread-0出售票68 Thread-0出售票67 Thread-0出售票66 Thread-0出售票65 Thread-0出售票64 Thread-0出售票63 Thread-0出售票62 Thread-0出售票61 Thread-0出售票60 Thread-0出售票59 Thread-0出售票58 Thread-0出售票57 Thread-0出售票56 Thread-0出售票55 Thread-0出售票54 Thread-0出售票53 Thread-0出售票52 Thread-0出售票51 Thread-0出售票50 Thread-0出售票49 Thread-0出售票48 Thread-0出售票47 Thread-0出售票46 Thread-0出售票45 Thread-0出售票44 Thread-0出售票43 Thread-0出售票42 Thread-0出售票41 Thread-0出售票40 Thread-0出售票39 Thread-0出售票38 Thread-0出售票37 Thread-0出售票36 Thread-0出售票35 Thread-0出售票34 Thread-0出售票33 Thread-0出售票32 Thread-0出售票31 Thread-0出售票30 Thread-0出售票29 Thread-0出售票28 Thread-0出售票27 Thread-0出售票26 Thread-0出售票25 Thread-0出售票24 Thread-0出售票23 Thread-0出售票22 Thread-0出售票21 Thread-0出售票20 Thread-0出售票19 Thread-0出售票18 Thread-0出售票17 Thread-0出售票16 Thread-0出售票15 Thread-0出售票14 Thread-2出售票69 Thread-2出售票12 Thread-2出售票11 Thread-2出售票10 Thread-2出售票9 Thread-2出售票8 Thread-2出售票7 Thread-2出售票6 Thread-2出售票5 Thread-2出售票4 Thread-2出售票3 Thread-2出售票2 Thread-2出售票1 Thread-3出售票70 Thread-1出售票71 Thread-0出售票13