Runnable和Thread比较
1、 Runnable更容易实现资源共享,能多个线程同时处理一个资源。
//使用Thread实现售票功能
public static void main(String[] args) {
new MyThread().start();
new MyThread().start();
}
class MyThread extends Thread{
private int ticket = 5;
public void run(){
while(true){
System.out.println("Thread ticket = " + ticket--);
if(ticket < 0){
break;
}
}
}
}
注:
根据输出结果,会发现多卖了一半的票,显然不合理。
//使用Runnable实现售票功能
public static void main(String[] args) {
MyThread2 m=new MyThread2();
new Thread(m).start();
new Thread(m).start();
}
class MyThread2 implements Runnable{
private int ticket = 5;
public void run(){
while(true){
System.out.println("Runnable ticket