随笔分类 -  并发

摘要:前言 通常情况下,每学习一块知识点我都会先找相应的文章来作铺垫,今天轮到锁相关介绍了,发现了一篇好文章,本想着直接贴个链接就完事了,想想自己还是好好总结下,下面的内容可能大部分摘自该文章锁的详细介绍,对本文没兴趣的读者直接移至该链接即可,速速开始吧。 进入正题 Java中有好几种锁,什么悲观锁、乐观 阅读全文
posted @ 2020-12-21 21:20 zliawk 阅读(320) 评论(0) 推荐(0)
摘要:前言 synchronized是很早就有的关键字,很多人都称呼它为重量级锁,因为阻塞或唤醒一个线程会发生上下文切换,如果同步方法中的内容过于简单,那么频繁的上下文切换所带来的开销可能会使得系统的性能下降,所以为了减少获取锁和释放锁带来的性能消耗便作了优化,因为synchronized跟锁有很大关系, 阅读全文
posted @ 2020-12-21 20:43 zliawk 阅读(188) 评论(0) 推荐(0)
摘要:前言 在多线程并发编程中volatile扮演者重要的角色,它是轻量级的synchronized,在多处理器中保证了共享变量的可见性,执行成本更低,因为它不会引起线程的上下文切换和调用,简单来说就是多线程对共享变量的修改能让其他线程立即知晓而不需要花费线程切换的相关成本,这一切都由一个叫做内存模型的东 阅读全文
posted @ 2020-12-21 19:26 zliawk 阅读(73) 评论(0) 推荐(0)
摘要:前言 HashMap的唯一鸡肋就是非线程安全,在如今的高并发场景下它能派上的用场也将越来越少,为了兼有HashMap高效的存取能力的同时又能保证线程安全滋生了ConcurrentHashMap。在JDK1.8以前,数据结构仍然是数组、链表的方式,不过与Hashtable相比,它并不是对整个哈希表上锁 阅读全文
posted @ 2020-12-20 20:31 zliawk 阅读(182) 评论(0) 推荐(0)
摘要:正题 CompletableFuture是JDK1.8才出现的,至于是否拥有很强大的功能其实我也未在工作上实践过,不过话说回来,即使实践过当时的我也是看不懂地,因为我现在才有时间来对它做一个了解,在此之前先来看看它的父接口-CompletionStage与Future。对于CompletionSta 阅读全文
posted @ 2020-12-20 20:21 zliawk 阅读(114) 评论(0) 推荐(0)