多线程&异步
文章平均质量分 92
我行其野&芃芃其麦
这个作者很懒,什么都没留下…
展开
-
高并发秒杀细节
前言高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。秒杀一般出现在商城的促销活动中,指定了一定数量(比如:10个)的商品(比如:手机),以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功。这类活动商家绝大部分是不赚钱的,说白了是找个噱头宣传自己。虽说秒杀只是一个促销活动,但对技术要求不低。下面给大家总结一下设计秒杀系统需要注意的9个细节。1 瞬时高并发一般在秒杀时间点(比转载 2021-08-10 11:00:29 · 1855 阅读 · 3 评论 -
高并发编程(四)高并发解决方案从前端到数据库
1. 高并发和大流量解决方案高并发架构相关概念 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行;在互联网时代,所讲的并发,高并发通常是指并发访问,也就是在某个时间点,有多少个访问同时到来。通常一个系统的日PV在千万以上,有可能是一个高并发的系统。有的公司完全不走技术路线,全靠机...原创 2019-10-12 17:01:43 · 1890 阅读 · 0 评论 -
Java8新特性之-CompletableFuture异步多线程框架(上)
CompletableFuture异步多线程框架(上)一、Future模式Java 1.5开始,提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。Future接口可以构建异步应用,是多线程开发中常见的设计模式。当我们需要调用一个函数方法时。如果这个函数执行很慢,那么我们就要进行等待。但有...原创 2019-08-08 17:46:37 · 1159 阅读 · 0 评论 -
Java8新特性之-CompletableFuture异步多线程框架(下)
CompletableFuture异步多线程框架(下)1.新建一个完成的CompletableFuture这个简单的示例中创建了一个已经完成的预先设置好结果的CompletableFuture。通常作为计算的起点阶段。static void completedFutureExample() { CompletableFuture...原创 2019-08-16 17:49:34 · 1069 阅读 · 1 评论 -
高并发编程(二)创建线程的12种姿势
高并发编程(二)创建线程的12种姿势 JDK1.5创建线程的6种姿势 姿势1、2: 继承Thread并重写run()方法,Thread类中的start方法会去调用系统的方法执行相应的线程。实际上Thread也是实现了Runable接口的,从该类的文档中我们能找到。 ...原创 2019-09-17 15:24:54 · 155 阅读 · 0 评论 -
高并发编程(一)
高并发编程(一) 概念: 并发:同时拥有两个或多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时“存在”的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器上,因此可以同时运行。...原创 2019-09-11 16:24:00 · 1124 阅读 · 0 评论 -
高并发编程(三)如何编写线程安全的代码
高并发编程(三)如何编写线程安全的代码线程安全类线程安全性定义:当多个线程访问某个类的时候,不管运行环境采用何种调度方式或者这些进程如何交替执行,并且在主调代码中不需要采用额外的同步或者是协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的原子性:提供了互斥访问,同一时刻只能有一个线程来对它进行操作。A...原创 2019-10-11 11:22:07 · 580 阅读 · 0 评论 -
LongAdder原理解析
一般都是CAS对一个变量进行操作,但Doug Lea大神觉得不满足,又写了一个LongAdder先看下传统的AtomicLong的原理.png再来看下LongAdder的LongAdder原理图.png即将一个变量进一步拆分到一个base数组中,减少资源竞争@sun.misc.Contended static final class Cell { ...转载 2019-10-11 17:29:57 · 191 阅读 · 0 评论