线程间通信
例子:
对一个值+1 -1交替完成,a的值就是1 b的值就是0 这个过程就是线程间通信
Synchronized实现:
虚假唤醒问题:
我们再添加两个线程。
我们发现我们的结果就不对了。
我们只需要使用while即可。
我们线程通信的最后一步就是防止虚假通信的出现。
Lock实现:
运行结果:
这就是我们使用lock和synchronized两种方式进行线程的通信的基础学习。
线程间通信
例子:
对一个值+1 -1交替完成,a的值就是1 b的值就是0 这个过程就是线程间通信
Synchronized实现:
虚假唤醒问题:
我们再添加两个线程。
我们发现我们的结果就不对了。
我们只需要使用while即可。
我们线程通信的最后一步就是防止虚假通信的出现。
Lock实现:
运行结果:
这就是我们使用lock和synchronized两种方式进行线程的通信的基础学习。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/358640.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!