Java 继承Thread类和实现Runnable接口的区别
public class TheadDemo extends Thread{private int ticket = 10;private String name;public TheadDemo(String name){this.name =name;}public void run(){for(int i =0;i<500;i++){if(this.ticket>0){System.out.println(this.name+"卖票---->"+(this.ticket--));}}}
} public class TheadTest {public static void main(String[] args) {TheadDemo mt1= new TheadDemo("一号窗口");TheadDemo mt2= new TheadDemo("二号窗口");TheadDemo mt3= new TheadDemo("三号窗口");mt1.start();mt2.start();mt3.start();
}
}
执行的结果是: 一号窗口卖票---->10
二号窗口卖票---->10
三号窗口卖票---->10
二号窗口卖票---->9
一号窗口卖票---->9
二号窗口卖票---->8
三号窗口卖票---->9
三号窗口卖票---->8
三号窗口卖票---->7
三号窗口卖票---->6
三号窗口卖票---->5
三号窗口卖票---->4
三号窗口卖票---->3
三号窗口卖票---->2
三号窗口卖票---->1
二号窗口卖票---->7
一号窗口卖票---->8
二号窗口卖票---->6
一号窗口卖票---->7
二号窗口卖票---->5
一号窗口卖票---->6
二号窗口卖票---->4
一号窗口卖票---->5
二号窗口卖票---->3
二号窗口卖票---->2
二号窗口卖票---->1
一号窗口卖票---->4
一号窗口卖票---->3
一号窗口卖票---->2
一号窗口卖票---->1
那么我们接下来看看用runable接口实现是怎么的呢?
public class RunableDemo implements Runnable{private int ticket =10;private String name;public void run(){for(int i =0;i<500;i++){if(this.ticket>0){System.out.println(Thread.currentThread().getName()+"卖票---->"+(this.ticket--));}}}
} public class RunableTest {public static void main(String[] args) {RunableDemo mt = new RunableDemo();Thread t1 = new Thread(mt,"一号窗口");Thread t2 = new Thread(mt,"二号窗口");Thread t3 = new Thread(mt,"三号窗口");t1.start();t2.start();t3.start();
}
} 执行结果:
一号窗口卖票---->10
三号窗口卖票---->9
二号窗口卖票---->10
三号窗口卖票---->7
一号窗口卖票---->8
三号窗口卖票---->5
二号窗口卖票---->6
二号窗口卖票---->2
二号窗口卖票---->1
三号窗口卖票---->3
一号窗口卖票---->4
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
