通信的方式:
要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程的执行结果,等等。设计到线程之间相互通信,分为以下四类:

  1. 文件共享
  2. 网络共享
  3. 共享变量
  4. jdk提供的线程协调API
    细分为:suspend/resume、wait/notify、park/unpark

文件共享

变量共享

线程协作-jdk api

API-被启用的suspend/resume

该api被启用的原因是,容易写出思索的代码。所以用wait/notify、park/unpark来代替。
suspend/resume死锁实例。

wait/notify机制

park/unpark机制

三种方法的优缺点

  1. suspend/resume:对调用有顺序要求,也要开发自己注意锁的释放。容易死锁和导致永久挂起。
  2. wait/notify:要求在同步关键字里面使用,免去了死锁的困扰,但是一定要先调用wait再调用notify。否则永久等待。
  3. park/unpark:没有顺序要求,但是park不会释放锁,所以在同步代码块中使用要注意释放锁。

伪唤醒:

网易云课堂学习-线程通信相关推荐

  1. 网易云课堂学习-zk集群

    可靠的zk服务 zk集群介绍 1.1. 可靠的zk服务 1.2. 只要集群的大多数都准备好了,就可以使用这项服务 1.3. 容错集群设置至少需要三个以上服务器 强烈建议使用奇数个服务器 1.4. 建议 ...

  2. B01_网易云课堂学习目录

    1.这样读书更有效 2.如何阅读一本书 3.心智图超强工作术 4.断舍离 5.翻转课堂的可汗学院 6.另外8小时 7.一万小时天才理论 8.小强升职记 9.当和尚遇到砖石 10.专业化生存 11.掌握 ...

  3. 网易云课堂学习-zk入门

    什么是zookeeper 简介:apache zookeeper是一种用于分布式应用程序的高性能协调服务,提供一种集中式信息存储服务. 特点:数据存在内存中,类似文件系统的树形结构(文件和目录),高吞 ...

  4. 网易云课堂 学习教程

    为什么80%的码农都做不了架构师?>>>    http://study.163.com/category/ios 转载于:https://my.oschina.net/huqiji ...

  5. 网易云课堂学习-TCP/UDP协议

    OSI网络七层模型 传输控制协议TCP TCP是Internet的一个重要的传输层协议.TCP面向连接.可靠.有序.字节流传输服务.应用程序在使用TCP之前,必须先建立TCPl连接. TCP握手机制 ...

  6. 百度传课网易云课堂在线教育平台竞品分析【转】

    最近正在用网易云课堂学习数据库,闲来搜到这篇网易云课堂和百度传课的竞品分析,写的不错. 个人还是网易云课堂用的比较多,网易云课堂总体给人感觉讲师更专业靠谱,并且注重知识体系的培养,比如课程体系和微专业 ...

  7. 网易云课堂--软件工程学习心得

    网易云课堂–软件工程学习心得 一.软件工程实验 通过十周的学习,老师要求的网易云课堂–软件工程的学习,终于结束了. 从开始的对linux平台的不熟悉,到能够熟练运用linux书写代码,我相信大家和我一 ...

  8. notes-Java学习指南①(快速入门)(网易云课堂)

    Java学习指南①(快速入门)(网易云课堂) 讲师:邵发(阿发你好) 章节1:第1章 Hello,World 课时1关于本篇11:55 编程语言的演化 机器码-汇编语言-C语言-C++ -java/C ...

  9. 跟着网易云课堂一起学习高级Android开发知识

    大家早上好,新一期的网易云课堂Android高级开发工程师免费直播课程又开始啦! 每天晚上网易云课堂都会准时给大家带来非常适合于进阶的干货直播课程,内容主题丰富且形式不固定,在这里你可以学到Glide ...

最新文章

  1. 基于FFmpeg H264 + G711A 音视频裸流合并 MP4文件 ( G711A 转 AAC)
  2. 【mxnet速成】mxnet图像分类从模型自定义到测试
  3. 计算机二级办公室软件应用选择题,计算机二级,办公软件高级应用技术有没有选择题和判断题的...
  4. Asp.net Ajax AutoComplete 控件的用法
  5. 深入浅出多网卡绑定技术
  6. 【CSS】一侧定宽,另一侧自适应的布局该如何去做
  7. php获取40001,php - Discord API错误#40001未经授权 - SO中文参考 - www.soinside.com
  8. C++中枚举的用法(比较全面)(转)
  9. 分布式devops_维护分布式团队的DevOps心态的10个技巧
  10. 王者荣耀s18赛季服务器什么时候维护好,王者荣耀S18赛季开始时间是什么时候?王者荣耀S18赛季开始时间一览-超能街机...
  11. Python参考手册
  12. 解密中国互联网企业创始人,程序员是如何打下半壁江山的?
  13. 安卓手机修改host
  14. win10 Linux双系统教程,win10+ubuntu双系统超详细教程(亲测可用)
  15. 使用Vue导出word(纯前端,异步处理图片)
  16. 60-硅谷课堂6-硅谷课堂-公众号消息和微信授权-- 笔记
  17. 数据结构JAVA实现——树
  18. BCB vs. VC++
  19. 《hanhan的创作纪念日:From 2020 To 2023》
  20. 【娱乐大闯关】C语言实现模拟ATM机管理系统

热门文章

  1. 双11系列 | 智能应用全面升级 重构“人货场”
  2. 不义联盟2服务器维护,不义联盟2停止工作怎么解决_不义联盟2闪退怎么办
  3. mysql 审计日志_MYSQL_审计日志查看
  4. ai文章裂变工具在哪里 裂变内容
  5. docker安装jenkins并且通过jenkins部署项目(超详细and靠谱)
  6. CAD参数绘制点(com接口)
  7. Jmeter接口实战(一)之获取token值登录
  8. Kesci: Keras 实现 LSTM——时间序列预测
  9. 阿里云子账号登录地址
  10. 3925: [Zjoi2015]地震后的幻想乡