本帖最后由 刘 佳 于 2012-9-27 18:12 编辑
多线程的卖票例子,老师上课讲的是用while循环,我自己用的for循环,前面都还正常,但是讲到了同步代码块这里开始出问题
我想问下如果要解决多线程的安全问题,这个小代码里面可以用for循环吗?应该怎么改呢?
可以帮我改改这个程序吗?怎么改才能正常?//是我加了同步代码块时的语句,执行完我就崩溃了。。
/*
需求:一个简单的卖票程序。
*/
class ChuangKou implements Runnable//extends Thread
{
private int x=60;
//Object obj=new Object();
public void run()
{
//synchronized(obj)
//{
for(x=60;x>0;x--)
{
try{Thread.sleep(10);}
catch(Exception e){}
System.out.println(Thread.currentThread().getName()+"卖票"+(x-1));
}
//}
}
}
class ThreadDemo1
{
public static void main(String[] args)
{
ChuangKou a=new ChuangKou();
Thread x=new Thread(a,"一窗口");
Thread y=new Thread(a,"二窗口");
Thread z=new Thread(a,"san窗口");
x.start();
y.start();
z.start();
}
}
|