你的代码好乱,看着都累,主要是你的代码不规范。首先一个问题是你定义的类piao类名首字母没有大写;其次,你应该在自定义类piao里面实现Runnable接口,并封装代码,只在main方法中调用。通过实现Runnable接口实现多线程,你创建几个Thread对象,就是几个线程,而不是去创建你的测试类。归纳一下实现Runnable接口的方式:1.自定义类实现Runnable接口。2.重写run()方法。3.创建自定义类的对象。4.创建Thread类的对象,把自定义类的对象作为构造参数传递。5调用Thread类的start()方法即可。
代码:
public class Ticket implements Runnable
{
private int tickets = 100;
public void run() {
while (true) {
if (tickets > 0) {
System.out.println(Thread.currentThread().getName() +(tickets--) + "张票");
}
}
}
}
//-------------------------------------------------
public class TicketDemo {
public static void main(String[] args) {
Ticket t = new Ticket();
Thread t1 = new Thread(t,);
Thread t2 = new Thread(t,);
t1.start();
t2.start();
}
} |