本帖最后由 徐然 于 2012-7-12 20:20 编辑
你这个程序里面没有共享数据啊
你把int sumTicket = 1000;
定义在局部位置,然后每个线程进来,都读一次int sumTicket = 1000;
就是说每个线程都有自己的sumTicket ,他们各自操作自己的,互不影响
如果你把int sumTicket = 1000定义在成员位置,就行了
但是这样打印出来的结果会出现
Thread-2 sale -.....-1
Thread-0 sale -.....0
所以要把if语句也放进同步代码块中 |