![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高并发
猿与禅
think more , write less , more value !
君子藏器于身,待时而动,争其必然,顺其自然
展开
-
谈谈高并发解决方案
页面 按钮置灰,禁止用户重复提交; Js倒计时,在一段时间内只能提交一次请求站点 动静分离,压缩缓存 cdn 导流 webserver: 根据UID限频 页面缓存 nginx:反向代理+负载均衡服务 读写操作基于缓存(memecache,redis) 异步+消息队列:请求排队处理,分批放行 热点分离 业务隔离:预售报名、分时段数据库 读写分离 分库分表 数据库集群转载 2017-10-12 19:18:04 · 982 阅读 · 0 评论 -
高并发-缓存
目的 mysql server的并发量在300-700之间,超过会拒绝连接; 通过缓存提升系统访问的并发量缓存雪崩 缓存失效期:给定key设置的生存时间,当key过期,会被自动删除 缓存失效导致数据未加载到缓存,或者缓存同一时间大面积失效, 导致请求去查询数据库,数据库CPU 内存负载过高,甚至宕机架构: spring springmvc mybatis redis mysqldruid转载 2017-10-20 23:30:31 · 1151 阅读 · 0 评论 -
java-高并发-解读Thread类
概述 线程是程序中的一个执行线程。java虚拟机允许应用程序具有多个线程执行并发运行。 每个线程都有优先权。优先级较高的线程优先于优先级较低的线程执行。 每个线程可能或可能不被标记为守护进程。 当代码运行时一些线程创建一个新的Thread对象,新的线程的优先级最初设置等于 它的创建线程,当创建线程是一个守护线程,它也是守护线程 当一个java虚拟机启动时,通常有一个单一的非守护进程线程...翻译 2018-05-28 15:24:01 · 300 阅读 · 0 评论 -
java concurrent-线程状态
一个线程只能在给定的时间点处于一个状态。 这些状态只是虚拟机的状态 不反映任何操作系统线程状态。 关于线程的状态 Thread类源码中已经给出: NEW 尚未启动的线程处于此状态。 RUNNABLE 在Java虚拟机中执行的线程处于该状态。 可运行线程的线程状态。可运行线程中的线程 *状态在Java虚拟机中执行,但它可能等待来自操作系统的其他资源,例如处理器等 BLOCKED(锁...翻译 2018-07-04 01:46:25 · 150 阅读 · 0 评论 -
java-线程池示例
package concurrency; import java.util.Random; import java.util.concurrent.*; /** * 1、用ThreadPoolExecutor自定义线程池,看线程是的用途,如果任务量不大,可以用无界队列,如果任务量非常大,要用有界队列,防止OOM * 2、如果任务量很大,还要求每个任务都处理成功,要对提交的任务进行阻塞提交,重写...转载 2019-03-08 23:50:50 · 116 阅读 · 0 评论 -
高并发-生产消费模型(阻塞队列)
class Producer implements Runnable { private final BlockingQueue<String> queue; Producer(BlockingQueue q) { queue = q; } public void run() { try { w...原创 2019-08-24 21:07:44 · 248 阅读 · 0 评论