A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

iamjb

  • 黑马币:

  • 帖子:

  • 精华:

© iamjb   /  2015-1-30 16:17  /  6490 人查看  /  23 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

synchronized只是同步,而try{}catch(){}则是对可能出现的异常进行捕获,并解决。比如同步里面如果用到wait()方法,这个时候就需要处理异常了。
回复 使用道具 举报
两个不同功能的代码块不要搞混了
回复 使用道具 举报
原因很简单
Thread.sleep()如果你查阅了API就会发现,它抛出来的是InterruptedException,有异常你就必须得捕获或者声明。这里把异常简单的捕获处理了一下。

  1. public static void sleep(long millis)
  2.                   throws InterruptedException
复制代码
回复 使用道具 举报
sleep wait singal等方法可以抛出中断异常 ,线程在执行过程中会一直检查他的中断标志 .
中断可以由线程自己的执行抛出.也可以由用户指定抛出, 因为线程没有提供停止的方法,所以可以通过抓取中断异常了停止return掉.   但是要知道一点, 调用中断方法让其抛异常,他不一定会立即响应,但是大部分情况下jvm还是比较给力的,响应的比较快
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马