爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
Java教程
{}这个方法j为什么会打印出(线程名+sell tickets:0)来
{}这个方法j为什么会打印出(线程名+sell tickets:0)来
日期:2014-05-20 浏览次数:21451 次
{高手进}这个方法j为什么会打印出(线程名+sell tickets:0)来
class TicketsSystem
{
public static void main(String[] args)
{
SellThread st=new SellThread();
new Thread(st).start();
try
{
Thread.sleep(1);
}
catch(Exception e)
{
e.printStackTrace();
}
st.b=true;
new Thread(st).start();
}
}
class SellThread implements Runnable
{
int tickets=100;
Object obj=new Object();
boolean b=false;
public void run()
{
if(b==false)
{
while(true)
sell();
}
else
{
while(true)
{
synchronized(obj)
{
try
{
Thread.sleep(10);
}
catch(Exception e)
{
e.printStackTrace();
}
synchronized(this)
{
if(tickets> 0)
{
System.out.println( "obj: "+Thread.currentThread().getName()+
" sell tickets: "+tickets);
tickets--;
}
}
}
}
}
}
public synchronized void sell()
{
synchronized(obj)
{
if(tickets> 0)
{
try
{
Thread.sleep(10);
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println( "sell(): "+Thread.currentThread().getName()+ " sell tickets: "+tickets);
tickets--;
}
}
}
}
程序能打印出(线程名+sell tickets:0)搞不明白
而且好像结果打印出来的语句 obj sell tickets与
sell(): sell tickets是交替出现的
------解决方案--------------------
没有出现你说的情况
上一篇:idea怎么取消commit
下一篇: 在JCREATER中输入函数名,函数查询迟钝?解决思路
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
求教一些关于checkbox取值和操作的有关问题
咋那么回事,该如何处理
跪求JSP开发网站流程,该怎么解决
some characters cannot be mapped using "ISO-8859-1"解决思路
写了jsp执行存储过程的这个方法,数据转换时总报错,该怎么处理
关于自己已解决的一个有关问题的附加有关问题
饱经5年的锤炼总结的JAVA全套视频100G
路过的大叔大神进来看看
在列名不知道的情况下,怎么将其显示在网页中
推荐阅读
更多>
哈哈,小弟我来了
-D标识用以JAVA命令,表示系统属性值对,值对是什么东西
请教一下Struts1.2中的增删改查小有关问题
求三级省份 市 区的级联菜单的源码,要求菜单内容数据库读取 高分
ssh 有关问题
java 参数输入 急解决方案
这个是什么原因呢?解决办法
将java翻译成c#net,该如何解决
怎么清空bufferedreader的buffer中的内容
file创建有关问题,请来帮帮啊多谢了
【java调试的实施顺序-可能你也不曾注意的细节】
大家伙儿看看 这题的答案是
前辈们给点建议解决办法
关于一路简单的java基础题的疑惑
揭开J2EE集群的面罩
求学解决方法
一个JAVA菜鸟关于JAVA数据类型的一个疑问
学累了,来几个笑话吧!该怎么处理
为什么这个弹出的数组长度是undefined,该怎么解决
高手!去页面所有标签!然后去掉只留内容