Thread类的定义:
public class Thread extends Object implements Runnable
使用Runnable接口比Thread能更好的描述出数据共享概念。数据共享指的是多线程访问同一资源的操作。
范例1:
class MyThread extends Thread {
private int ticket = 5;
@Override
public void run() {
for (int i = 0; i < 6; i++) {
if (this.ticket > 0) {
System.out.println("Ticket=" + this.ticket--);
}
}
}
}
public class Demo {
public static void main(String[] args) {
MyThread mt1 = new MyThread();
MyThread mt2 = new MyThread();
MyThread mt3 = new MyThread();
mt1.start();
mt2.start();
mt3.start();
}
}
从结果看出,各自线程卖各自的票。
=============分割线=============
范例2:枚举实现接口
class MyThread implements Runnable {
private int ticket = 6;
@Override
public void run() {
for (int i = 0; i < 6; i++) {
if (this.ticket > 0) {
System.out.println("Ticket=" + this.ticket--);
}
}
}
}
public class Demo {
public static void main(String[] args) {
MyThread mt = new MyThread();
new Thread(mt).start();
new Thread(mt).start();
new Thread(mt).start();
}
}
