这个线程为什么没阻塞

谁学逆向工程 2016-08-01 09:00:23
public class Dd 
{
public static void main(String[] args)
{
xx x = new xx();
try
{
x.wait();
}
catch(Exception e)
{}
System.out.println(" main over ");
}
}

class xx
{}

...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2016-08-02
  • 打赏
  • 举报
回复
特别是,不要catch了Exception什么也不做,你至少把它打印出来吧, 异常打印出来就会发现问题,也就不会问这么低级的问题了
NewMoons 2016-08-02
  • 打赏
  • 举报
回复
1楼2楼说的都很对。wait的使用是有条件的。 多线程同步是java的一个难点也是核心内容之一,楼主建议你先百度下 java 同步锁 或者关键字 synchronized,可能你的疑问就解决了。 真心建议下:不要只是傻傻的堆代码,要先多看看书和例子,有一定理解了再写代码。
rickylin86 2016-08-02
  • 打赏
  • 举报
回复
上面其实上是会抛出异常.只是你对异常的捕获不处理而已.实例对象的wait方法必须放在对应的synchronized块或者方法中
soton_dolphin 2016-08-01
  • 打赏
  • 举报
回复
因为wait() 必须在synchronized 块里面

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧