Java中wait()方法和notify()方法使用时的注意事项

发布时间:2021-07-13 09:16:26 作者:chen
来源:亿速云 阅读:239

本篇内容主要讲解“Java中wait()方法和notify()方法使用时的注意事项”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java中wait()方法和notify()方法使用时的注意事项”吧!

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

我们看程序出线了异常。原因是我们没有添加synchronized关键字,所以线程获取不到锁,而直接抛出的异常。

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

我们看两个线程都暂停了,这就说明两个线程都获得了执行,原因就是上面分析的一样,wait()方法在执行完会立即释放对象的锁,所以线程一执行完时,线程二就可以直接获取到锁并执行,所以输出是异步显示的。下面我们在看一下notify()方法的事例。

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

我们看线程是同步执行的。原因是notify()方法在执行后不会立刻释放对象的锁,所以线程一在执行notify()方法后,线程二虽然已经启动成功,但它获取不到当前对象的锁,因为线程一还没有将锁释放,所以线程二只能等待因为方法是synchronized同步方法,所以输出信息是同步执行的。

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

Java中wait()方法和notify()方法使用时的注意事项

我们看线程一已经被唤醒了,然后继续执行了synchronized同步方法里的内容。

Java中wait()方法和notify()方法使用时的注意事项

线程状态图

到此,相信大家对“Java中wait()方法和notify()方法使用时的注意事项”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. C++/JAVA/C#子类调用父类函数情况总结
  2. java中怎么实现声明和初始化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:JS设置时间无效怎么办

下一篇:python中replace函数替换无效怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》