高并发
bigkai12138
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap分析(二)数据扩容
前言在前面的文章ConcurrentHashMap分析(一)整体结构里,我们通过从 ConcurrentHashMap 的整体结构入手,逐步了解了它的数据结构和各个节点的转换关系。这篇文章将讲述 ConcurrenHashMap 的另一个重点:如何在高并发环境下进行扩容,这对我们了解高并发编程思想很有帮助。由于本人水平有限,分析过程中可能存在纰漏和错误,希望大家可以指出,一起学习,一起进步。思路我们在前文查看 ConcurrenHashMap 中发现有一个字段nextTable,它起到在扩容时充当临原创 2020-09-25 14:34:27 · 552 阅读 · 0 评论 -
ConcurrentHashMap分析(一)整体结构
前言对于ConcurrentHashMap的分析,网上已经有很多完善的资料,对于它的源码分析对于巩固和提升关于Java并发思想以及Map集合的思考很有帮助。此文是作者自己关于ConcurrentHashMap的分析和总结。由于本人水平有限,分析过程中可能存在纰漏和错误,希望大家可以指出,一起学习,一起进步。对于此次分析希望能达到以下目的:了解ConcurrentHashMap对于并发的优化方法。了解并发措施和Map集合的结合。ConcurrentHashMap结构下面是ConcurrentH原创 2020-09-23 21:31:42 · 431 阅读 · 0 评论 -
AQS及其衍生物
前言AQS(AbstractQueuedSynchronizer)为组成Java并发包的工具类的核心,我们可以看到它的实现类中有很多我们常用的同步器:那么AQS是怎么定义和管理资源的?同步器是通过怎样的方式从AQS扩展?这是此文需要讨论的内容。由于作者本人水平有限,在分析时可能会出现纰漏和错误,希望大家可以指出,让我们一起学习,一起进步。AQS资源管理在AQS中有一个state字段,其注释The synchronization state意为同步状态,它就是用于表示资源当前状态的。不同的同步器对原创 2020-09-18 15:45:40 · 154 阅读 · 0 评论 -
java高并发学习01——进程、线程、协程
1.进程、线程、协程1.1进程伪并行:在单处理器系统中,CPU由一个进程快速切换到另一个进程,使每个进程各运行几十或几百毫秒——严格来说,在某一个瞬间,CPU只能运行一个进程。但在1秒钟内,它可能运行了多个进程,这样就产生了并行的错觉,这种情形就被称为伪并行,以此来区分多出力系统的真正硬件并行。1.1.1进程模型在进程模型中,计算机上所有可运行的软件(包括操作系统),被组织成若干顺序进程,简称为进程。一个进程就是一个正在执行程序的实例,包括程序计数器、寄存器和变量的当前值。从概念上来说,每个进程都有原创 2020-06-22 08:34:02 · 373 阅读 · 0 评论