class TicketsSystem
{
public static void main(String[] args) throws Exception
{
TicketsThread tt=new TicketsThread();
new Thread(tt).start();
new Thread(tt).start();
new Thread(tt).start();
new Thread(tt).start();
}
}
class TicketsThread implements Runnable
{
int tickets=100;
public void run()
{ synchronized(this){
while(true)
{
try{
Thread.sleep(500);
} catch(InterruptedException e) {
}
if(tickets>0)
{
System.out.println(Thread.currentThread().getName()+" seil tickets: "+tickets);
tickets--;
}
if(tickets==5)
{
break;
}
}
}
}
}
解决方案 »
- Java中Properties读取配置文件出现了乱码情况如果解决?
- 菜鸟关于Swing JButton和Java3D结合的一个问题
- ClassLoader.getResourceAsStream()方法返回null
- 实现:在键盘上输入一个数字序列并存储在Vector中,最后在屏幕上打印出每位数字相加的结果。编译可以通过,最后出不来结果。
- 同学的关于applet和gui的java大作业,求主算法代码
- 考试系统中交卷后如何保存到服务器呀??
- servlet程序如何运行啊???
- 超级菜鸟问题:java程序的扩展名是什么?
- 请问运行java程序是怎么把dos窗口去掉?
- 这个进度条的setValue为什么用不了
- java 启动可视化的界面,用的jar文件怎么加入到启动参数中??
- 用JSP调用类的静态方法,该类的main是不是会自动执行?
因为第一个线程在tickets==5退出后,下一个线程继续tickets--,tickets再也不会变成5了。