标签:CountDownLatch

Java

java架构之路(多线程)JUC并发编程之Semaphore信号量、CountDownLatch、CyclicBarrier栅栏、Executo…

9

尖兵 发布于 2020-01-19

上期回顾: 上次博客我们主要说了我们juc并发包下面的ReetrantLock的一些简单使用和底层的原理,是如何实现公平锁、非公平锁的。内部的双向链表到底是什么意思,prev和next到底是什么,为什么要引入heap和tail来值向null的Node节点。高并发时候是如何保证st...

阅读(8)评论(0)赞 (0)

Java

基于Netty和SpringBoot实现一个轻量级RPC框架-Client端请求响应同步化处理

1

xiaoli.wang 发布于 2020-01-18

前提 前置文章: 《基于Netty和SpringBoot实现一个轻量级RPC框架-协议篇》 《基于Netty和SpringBoot实现一个轻量级RPC框架-Server篇》 《基于Netty和SpringBoot实现一个轻量级RPC框架-Client篇》 前一篇文章简单介绍了通过...

阅读(8)评论(0)赞 (0)

Java

Java中的锁「原理、锁优化、CAS、AQS」

22

zhuangli 发布于 2020-01-16

一、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 二、锁实现的基本原理 2.1、volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某...

阅读(26)评论(0)赞 (0)

Java

大数据方向学习面试知识图谱

5

yeseng 发布于 2020-01-15

正所谓,无招胜有招。 愿读到这篇文章的技术人早日明白并且脱离技术本身,早登彼岸。 一切技术最终只 是雕虫小 技 。 大纲 本系列主题是大数据开发面试指南,旨在为大家提供一个大数据学习的基本路线,完善数据开发的技术栈,以及我们面试一个大数据开发岗位的时候,哪些东西是重点考察的,这些...

阅读(38)评论(0)赞 (0)

Spring

美团面试 154 道题分享!

hellas 发布于 2020-01-14

点击上方“ 后厂技术官 ”,马上关注, 来源:程序员面试 Java集合22题 JVM与调优21题 并发编程28题 spring 25题 设计模式 10题 springboot 22题 Netty10题 Redis 16题 Java集合22题 ArrayList 和 Vector ...

阅读(23)评论(0)赞 (0)

Java

【Java并发基础】并发编程领域的三个问题:分工、同步和互斥

changyuan.xu 发布于 2020-01-13

前言 可以将Java并发编程抽象为三个核心问题:分工、同步和互斥。 这三个问题的产生源自对性能的需求。最初时,为提高计算机的效率,当IO在等待时不让CPU空闲,于是就出现了分时操作系统也就出现了并发。后来,多核CPU出现,不同的任务可以同时独立运行,于是就出现了并行【分工】。有了...

阅读(12)评论(0)赞 (0)

Java

一文带你看懂Java并发中最重要的类AbstractQueuedSynchronizer(AQS) (完结)

8

zhuangli 发布于 2020-01-13

这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第二篇的重点是把 Condition 说明白,同时也说清楚了对于线程中断的使用。 这篇,我们的关注点是 AQS 最后的部分, AQS 共享模式 的使用。有前两篇文章的铺...

阅读(9)评论(0)赞 (0)

Java

一文看懂JUC之AQS机制

7

xiaoli.he 发布于 2020-01-09

为了解决原子性的问题,Java加入了锁机制,同时保证了可见性和顺序性。JDK1.5的并发包中新增了Lock接口以及相关实现类来实现锁功能,比synchronized更加灵活,开发者可根据实际的场景选择相应的实现类。本文注重讲解其不同衍生类的使用场景以及其内部AQS的原理。并发问题...

阅读(18)评论(0)赞 (0)

Java

AtomicLong 是不是该淘汰了?

2

xiaoli.wang 发布于 2020-01-09

Photo By Instagram sooyaaa 问题 5. 相信你一定记得学习并发编程的一个入门级例子,多个线程操作一个变量,累加 10000 次,最后结果居然不是 10000。后来你把这个变量换成了并发包中的原子类型变量 AtomicLong,完美的解决了并发问...

阅读(8)评论(0)赞 (0)

Java

Java 并发进阶常见面试题总结

11

xiaoli.he 发布于 2020-01-08

Java 并发进阶常见面试题总结 1. synchronized 关键字 1.1. 说一说自己对于 synchronized 关键字的了解 synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻...

阅读(32)评论(0)赞 (0)

Spring

当Parallel遇上了DI – Spring并行数据聚合最佳实践

5

yanxinchi 发布于 2020-01-08

让我们先看个图, Taobao的PDP(Product Detail Page)页. 打开Chrome Network面板, 让我们来看taobao是怎么加载这个页面数据的. 根据经验, 一般是异步加载的, 要么是XHR,要么就是js(jsonp), 你应该很快可以找到 还能看到...

阅读(40)评论(0)赞 (0)

Java

不懂什么是锁?看看这篇你就明白了

27

Harries 发布于 2020-01-07

点击蓝色“ 高性能服务器开发 ”关注我哟 加个“ 星标 ”,一起快乐成长 Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 从线程是否需要对资源加锁可以分为 悲观锁 和 乐观锁 从资源已被锁定...

阅读(26)评论(0)赞 (0)

Java

一文带你看懂Java并发中最重要的类AbstractQueuedSynchronizer(AQS)

7

xirruiqiang 发布于 2020-01-06

在分析 Java 并发包 java.util.concurrent 源码的时候,少不了需要了解 AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是 Java 并发包的基础工具类,是实现 ReentrantLock、CountDownLatc...

阅读(28)评论(0)赞 (0)

Java

聊聊chronos的pullFromDefaultCFAndPush

wenming.gapo 发布于 2020-01-03

序 本文主要研究一下chronos的pullFromDefaultCFAndPush pullFromDefaultCFAndPush DDMQ/carrera-chronos/src/main/java/com/xiaojukeji/chronos/services/MqPus...

阅读(42)评论(0)赞 (0)

Java

AQS详解

darida 发布于 2020-01-03

解释 AQS:全称“AbstractQueuedSynchronizer”,直译过来是抽象的队列同步器,一般我们把它叫做AQS,java中大部分并发类都是通过它来实现线程同步。它内部定义了一个变量(volatile int state)和一个等待队列,前者表示加锁状态,后者在多线...

阅读(29)评论(0)赞 (0)

Java

聊聊chronos的addMessage

songhua.gao 发布于 2020-01-02

序 本文主要研究一下chronos的addMessage addMessage DDMQ/carrera-chronos/src/main/java/com/xiaojukeji/chronos/services/MqPullService.java public class M...

阅读(23)评论(0)赞 (0)