第三章-线程同步工具(引言)
2023-09-14 08:56:52 时间
在第二章基本的线程同步中,我们学习了同步和critical section的内容。基本上,当多个并发任务共享一个资源时就称为同步,例如:一个对象或者一个对象的属性。访问这个资源的代码块称为:临界区。
如果机制没有使用恰当,那么可能会导致错误的结果,或者数据不一致,又或者出现异常情况。所以必须采取java语言提供的某个恰当的同步机制来避免这些问题。
在第二章,基本的线程同步中,我们学会了以下2个同步机制:
关键词同步 Lock接口和它的实现类们:ReentrantLock, ReentrantReadWriteLock.ReadLock, 和 ReentrantReadWriteLock.WriteLock在此章节,我们将学习怎样使用高等级的机制来达到多线程的同步。这些高等级机制有:
Semaphores: 控制访问多个共享资源的计数器。此机制是并发编程的最基本的工具之一,而且大部分编程语言都会提供此机制。 CountDownLatch: CountDownLatch 类是Java语言提供的一个机制,它允许线程等待多个操作的完结。 CyclicBarrier: CyclicBarrier 类是又一个java语言提供的机制,它允许多个线程在同一个点同步。 Phaser: Phaser类是又一个java语言提供的机制,它控制并发任务分成段落来执行。全部的线程在继续执行下一个段之前必须等到之前的段执行结束。这是Java 7 API的一个新特性。 Exchanger: Exchanger类也是java语言提供的又一个机制,它提供2个线程间的数据交换点。Semaphores是最基本的同步机制可以用来在任何问题中保护任何critical section。其他的机制只有在之前描述的那些有特殊特点的应用中使用。请根据你的应用的特点来选择适当的机制。
这章有7个教你如何使用以上描述的机制的指南。
并发编程原理扫盲笔记 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。在 Java 虚拟机的语境下,垃圾指的是死亡的对象所占据的堆空间。
Java并发编程系列之三JUC概述 上篇文章为解决多线程中出现的同步问题引入了锁的概念,上篇文章介绍的是Synchronized关键字锁,本篇文章介绍更加轻量级的锁Lock接口及引出JUC的相关知识。
五分钟带你玩转多线程(一)java多线程基础知识简介 线程概念 进程:是一个执行中的程序,如打开网易云音乐,网易云音乐就是一个进程 线程:是进程的组成,一个进程包含多个线程,是jvm最小调度单元。如网易云音乐听歌是一个线程,评价是一个线程。
第一章 Java程序设计概述 1.1 Java程序设计平台 Java是一门设计优秀的语言,更是一个完整的平台。Java平台包括了一个庞大可重用的类库以及提供了安全性,跨系统,自动垃圾收集等优秀特性的执行环境。 这也使其成为自发布以来就颇为流行的高级程序设计语言。
ali清英 方腾飞,花名清英,英文名kiral,并发编程网创始人,支付宝技术专家,《Java并发编程的艺术》作者。
相关文章
- 线程同步工具(四)在同一个点同步任务
- 同步工具——Phaser
- logstash同步mongodb数据到elasticsearch
- 简单的MySQL数据库主从同步配置
- 用Aliyun E-MapReduce集群的sqoop工具和数据库同步数据如何配置网络
- EasyPlayer Android基于ffmpeg实现播放(RTSP/RTMP/HTTP/HLS)同步录像功能
- Java核心知识点学习----线程同步工具类,CyclicBarrier学习
- 订单同步有技巧,双十一高峰不再怕
- Hudi(26):Hudi集成Hive之同步工具
- 如何在 SSAS服务器之间做同步
- linux时间同步ntpd、ntpdate介绍
- 银行取款[多线程]{使用volatile修饰共享变量,但此场景并不保证线程同步}
- ijkplayer播放器剖析(五)视频同步与渲染机制分析
- 音视频同步 ffmpeg 推流
- 【并发技术16】线程同步工具Exchanger的使用
- nodejs 数据库操作,消息的发送和接收,模拟同步
- 从小白到高手,你需要理解同步与异步(内含10张图)
- Rsync远程数据同步工具
- redis master配置了密码进行主从同步