当前位置:   article > 正文

如何处理多线程并发的问题

两个线程并发执行,程序只返回了一次怎么办

多线程应用程序同时访问共享对象时,由于线程间相互抢占CPU的控制权,造成一个线程夹在另一个线程的执行过程中运行,所以可能导致错误的执行结果。

为了防止共享对象在并发访问时出现错误,Java中提供了“synchronized”关键字。

但是由于会与到一些状况,造成死锁现象,那么可以通过调用一个被同步的方法,并让这个方法调用wait()。

每当一个方法返回某个对象的锁时,它应当调用notifyAll()来让等待队列中的其他线程有机会执行。

记住wait()和notify()/notifyAll()是Object类方法,而不是Thread类的方法。仔细查看每次调用wait()方法,都有相应的notify()/notifyAll()方法,且它们均作用于同一个对象。


转载于:https://my.oschina.net/u/2483853/blog/523423

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/197683
推荐阅读
相关标签
  

闽ICP备14008679号