//5个窗口同时卖票,卖完之后并给出提示,买票过程中并显示剩余票数
package 演示练习;
class windows implements Runnable//多线程需实现Runnable
{
private int piao;
public void setpiaoshu(int x)
{piao=x;}
public void run() //必须定义Run方法,多线程运行的代码
{ while (true)
{
synchronized(this)
{
if (piao>0)
{
try{ Thread.sleep(20);} catch(Exception e){}
System.out.print(Thread.currentThread().getName()+"正在售出"+piao--+"号票-->");
System.out.println("剩余"+piao+"张票");
}
else{
System.out.println(Thread.currentThread().getName()+"次车次已停止售票---->票已售完");
return;
}
}
}
}
}
public class 多线程卖票练习2 {
public static void main(String[] args) {
windows t=new windows(); //new一个实现Runnable接口的类的对象
Thread a=new Thread(t,"window1");//把对象传入,生成一个线程对象
Thread b=new Thread(t,"window2");
Thread c=new Thread(t,"window3");
Thread d=new Thread(t,"window4");Thread e=new Thread(t,"window5");
t.setpiaoshu(500);
a.start();
b.start(); //分别启动,会自动运行实现Runnable接口的类的Run方法
c.start();
d.start();
e.start();
}
}
------- android培训、java培训、期待与您交流! ----------