我是靠谱客的博主 激昂饼干,最近开发中收集的这篇文章主要介绍synchronized 与wait、notify的关系,多线程安全 与 线程通信 的关系,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

     上一篇博客  《synchronized 的用法》中讲解了 synchronized 关键字的 所有具体用法, 以及它是如何解决多线程安全问题的。  借这篇文章回顾一下线程通信的基础知识,可能这些知识点大家都能略知一二,但实际项目开发中 几个月不用,可能又会忘记一半,对有些概念似是而非、模棱两可,导致业务项目用到时又需要重新学习,这里自己完整总结一次,方便下次使用时查阅。

一、什么是 “线程间通信”

      如果仅仅是为了解决 多线程操作数据 的 安全问题(即多线程可见性),用 synchronized 关键字 完全能满足需求。  但如果 多个线程之间 针对数据的不同形态 有一些 要求, 这就是涉及到  线程间通信。  

     举个例子

      比如 生产者和消费者问题, 生产者 和 消费者 分别位于各自的线程中, 生产者线程 不停的生产出 产品, 而消费者线程 不停的从 生产出的 产品中拿出来消费, 当生产的速度较慢,消费的速度较快时,消费者线程就必须进入阻塞等待状态, 这时一段生产者线程生产出一个新产品时,就必须立即唤醒 被阻塞的 消费者线程 进行消费。   这就是 线程间通信 的 具体实例。

     “多线程安全” 和 “线程间通信”的关系

     这里我的理解: “多线程安全” 和 “线程间通信”  存在一定的关系,但又不完全等价,   “多线程安全”描述的是存在的问题这一事实,  “线程间通信” 是解决多线程安全这个问题的手段, 但同时“线

最后

以上就是激昂饼干为你收集整理的synchronized 与wait、notify的关系,多线程安全 与 线程通信 的关系的全部内容,希望文章能够帮你解决synchronized 与wait、notify的关系,多线程安全 与 线程通信 的关系所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(27)

评论列表共有 0 条评论

立即
投稿
返回
顶部