本帖最后由 青鱼 于 2014-11-3 02:16 编辑
楼主大概是没有理解到 try..cathc 的用法吧
try 是用于检测 try{ .. } 中的错误的. 没有抛错就不会被 try 检测到, 既然 try 检测通过, 当然会顺利运行 {... } 里面的语句.
如果 try{...} 里面的语句有问题, 抛出错误了, 就会被 catch(Exception e) 捕抓到, 其中 Exception 是欲捕抓的错误类型, e 则包含了全部错误信息;
cathc(..){ 该语句块 } 就是当出现错误的时候执行的部分...
while 判断的是 标志位flag , 跟 try 等无关, 后面不是设置了交替修改 flag 为 false 或 true 吗..目的当然就是为了让线程相互唤醒咯...
唤醒了就立即执行代码, 没被唤醒的才是在 wait 等待中...
不知解释够清楚不..
|