黑马程序员技术交流社区
标题:
卖票例子的安全问题
[打印本页]
作者:
startrek36
时间:
2015-4-23 18:45
标题:
卖票例子的安全问题
package gongFu;
class Lock
{
}
class Ticket002 implements Runnable
{
private int tick=100;
public void run() {
synchronized(new Lock()){
while(tick>0)
{
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("售票员"+Thread.currentThread().getName()+"正在卖第"+tick--+"张票");
}
}
}
}
public class Ticket02 {
public static void main(String[] args) {
Ticket002 tick=new Ticket002();
Thread t1=new Thread(tick);
t1.setName("亚由美");
Thread t2=new Thread(tick);
t2.setName("朴秀珍");
Thread t3=new Thread(tick);
t3.setName("李河琳");
Thread t4=new Thread(tick);
t4.setName("陆慧胜");
Thread t5=new Thread(tick);
t5.setName("黄静茵");
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
}
}
作者:
startrek36
时间:
2015-4-23 18:47
这段代码我给操作共享资源的代码加了锁,为什么还是会打印出错票?请各位来看看!谢谢
作者:
startrek36
时间:
2015-4-23 18:51
明白了。原来是生命周期的问题啊!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2