解决方案 »
- 如何在model或则control里定义list放到session()里
- 用LinkeeList来实现Stack有什么优势?
- 求lumaqq的源代码
- 关于方法重写
- 从oracle数据库中读取数据后,乱码问题
- 【求助】addMouseMotionListener和addMouseListener区别
- Exception in thread "main"java.lang.NoclassDefFoundError
- 麻烦高手帮我看看哪里错了,在线等~
- 请推荐本好书(有vb,vb.net经验),谢谢各位!!
- 【小白求助】想用JAVA做一个录屏软件,请问需要注意什么?
- JSONObject.fromObject(object, jsonConfig)转换问题
- 小白问一些基础知识。
你的四个线程都有用到ticket 这个变量,假设有一个线程分配到cpu执行,刚执行到for循环的i< ticket;这个判断或者while的 if(ticket > 0)这个判断,这时候这个线程分配的时间到了,有另外的线程执行,这两个线程用到的ticket这给变量的值是一样的就会,就会出现循环次数大于100的情况。
你需要对你的sellTicket这个方法做出保护,你可以改方法加上synchronized关键字来保护。