多线程
继承Runnable类实现多线程
步骤
1.定义一个类实现Runnable接口,重写run方法,在run方法中编写卖票逻辑
2.创建多个线程,传入接口的实现类对象
3.启动多个线程
代码实例
3个窗口同时售票
//测试类实现
public static void main(String[] args) {
Ticket t = new Ticket();
//将ticket的RUnnable对象交给创建的线程执行
Thread t1 = new Thread(t,"窗口1");//定义线程的名称
Thread t2 = new Thread(t,"窗口2");
Thread t3 = new Thread(t,"窗口3");
//开始线程
t1.start();
t2.start();
t3.start();
}
//继承Runnable方法并重写run方法
public class Ticket implements Runnable {
private int num =100;
Object o = new Object();
@Override
public void run() {
while(true){//死循环 一直执行
synchronized (o){ //同步代码块,避免多个线程执行同一个方法体
String name = Thread.currentThread().getName();//获取线程的名称
if(num > 0){//当还有票的时候,打印
System.out.println(name +"第"+(num--)+"张票");
}
}
}
}
}