028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

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

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

创新互联专注于企业全网营销推广、网站重做改版、德江网站定制设计、自适应品牌网站建设、H5建站商城开发、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为德江等各大城市提供网站开发制作服务。

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()方法使用时的注意事项”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


名称栏目:Java中wait()方法和notify()方法使用时的注意事项
文章路径:http://www.tsicrk.com/article/iigspj.html

其他资讯

让你的专属顾问为你服务

2.9812s