这个例子有点问题啊,作为extends Thread的方式创建线程的时候,我们都知道,票数都在三个类里面,也就是说,这样的例子应该是指“每个窗口有拥有5张票可卖”,所以开3个线程自然是有3*5=15张票咯。应该把票数添加static关键字,这样就可以可以符合这个例子了。
extends Thread的例子没有问题。想实现的确实是3个窗口总共有5张票,老师故意用extends Thread的例子,就是为了说明这种方式达不到希望的效果(即实际出现的效果是你所说的“每个窗口拥有5张票”)。老师也在PPT中写明,只有Runnable的方式才适合多个线程处理同一资源的情况。
如果硬要用extends Thread来实现效果,确实像你说的可以加static关键字,但老师想告诉我们的是,对于这样的情况,还是用Runnable好。