多线程
文章平均质量分 54
jamesge2010
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CompletableFuture使用详解
简单的任务,用Future获取结果还好,但我们并行提交的多个异步任务,往往并不是独立的,很多时候业务逻辑处理存在串行[依赖]、并行、聚合的关系。如果要我们手动用 Future 实现,是非常麻烦的。CompletableFuture是Future接口的扩展和增强。CompletableFuture实现了Future接口,并在此基础上进行了丰富地扩展,完美地弥补了Future上述的种种问题。更为重要的是,CompletableFuture实现了对任务的编排能力。原创 2024-07-29 03:08:30 · 3884 阅读 · 0 评论 -
countdownlatch&cyclicbarrier&semaphore
原创 2021-12-16 00:01:29 · 413 阅读 · 0 评论 -
自旋锁demo
原创 2021-12-23 00:31:39 · 441 阅读 · 0 评论 -
AQS简单介绍与使用
AQS,全称是 AbstractQueuedSynchronizer,中文译为抽象队列式同步器。这个抽象类对于JUC并发包非常重要,JUC包中的ReentrantLock,,Semaphore,ReentrantReadWriteLock,CountDownLatch 等等几乎所有的类都是基于AQS实现的。 AQS 中有两个重要的东西,一个以Node为节点实现的链表的队列(CHL队列),还有一个STATE标志,并且通过CAS来改变它的值。 CLH队列: 链表结构,在头尾结点中,需要特别指出的是头结点...转载 2021-12-10 16:52:20 · 815 阅读 · 0 评论 -
最近学习了限流与RateLimiter
前言 分布式环境下应对高并发保证服务稳定几招,按照个人理解,优先级从高到低分别为缓存、限流、降级、熔断,每招都有它的作用,本文重点就讲讲限流这部分。 坦白讲,其实上面的说法也不准确,因为服务降级、熔断本身也是限流的一种,因为它们本质上也是阻断了流量进来,但是本文希望大家可以把限流当做一个单纯的名词来理解,看一下对请求做流控的几种算法及具体实现方式。 为什么要限流 其实很好理解的一个问题,为什么要限流,自然就流量过大了呗,一个对外服务有很多场景都会流量增大: 业务用户量不断攀升 各种促销 .转载 2021-06-11 23:50:56 · 858 阅读 · 0 评论 -
CountDownLatchTest
import java.util.concurrent.*; public class CountDownLatchTest { public static void main(String[] args) { final CountDownLatch order = new CountDownLatch(1); final CountDownLatch answer = new CountDownLatch(8); ThreadPoolExec.原创 2021-03-09 23:20:10 · 167 阅读 · 0 评论 -
CountDownLatch使用示例
/** * */ package com.gewb.two; import java.util.Random; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; /** * @author Bingo.Ge * @.原创 2020-05-29 00:11:57 · 240 阅读 · 0 评论 -
使用原子类实现自定义加解锁
1.创建自定义加锁失败异常类 /** * */ package com.gewb; /** * 自定义加锁失败异常 * @author Bingo.Ge * @date 2020年5月19日 */ @SuppressWarnings("serial") public class GetLockException extends Exception { public GetLockException() { } public GetLockException(Strin原创 2020-05-19 23:32:42 · 980 阅读 · 0 评论
分享