方式一:继承Thread类,重写run()方法
一共有5张票,三个线程进行卖票
package cn.itcast.thread;
//继承 Thread 类实现多线程
class MyThread extends Thread {
private String title;
private int ticket = 5;
public MyThread(String title) {
// TODO Auto-generated constructor stub
this.title = title;
}
@Override
public void run() {
// TODO Auto-generated method stub
for(int x = 0; x < 50; x++) {
if(this.ticket > 0)
System.out.println(this.title+" 卖票,ticket = " + this.ticket --);
}
}
}
public class TestDemo {
public static void main(String[] args) {
MyThread mt1 = new MyThread("A");
MyThread mt2 = new MyThread("B");
MyThread mt3 = new MyThread("C");
mt1.start();
mt2.start();
mt3.start();
}
}
运行结果:
目录
现在的结果是一共买出了 15 张票,等于是每一个线程对象各自卖各自的 5 张票,这个时候的内存关
系图如下: