雪洗中关村

导航

随笔分类 -  1.1.016──┼─ 并发问题

秒杀系统优化方案(下)吐血整理
摘要:转自:https://www.cnblogs.com/xiangkejin/p/9351501.html 3. 深入优化设计 3.1 初始方案问题分析 在前面针对数据库的优化中,由于数据库行级锁存在竞争造成大量的串行阻塞,我们使用了存储过程(或者触发器)等技术绑定操作,整个事务在MySQL端完成,把 阅读全文

posted @ 2020-11-10 14:58 雪洗中关村

CompletionService用法踩坑解决优化
摘要:转自:https://blog.csdn.net/xiao__miao/article/details/86352380 1.近期工作的时候,运维通知一个系统的内存一直在增长,leader叫我去排查,我开始看了一下,没处理,leader自己去看了一下,发现是线程池的问题,我开头没注意那块,一看才发现 阅读全文

posted @ 2019-05-09 15:30 雪洗中关村

Runnable、Callable、Future、FutureTask的区别
摘要:转自:https://blog.csdn.net/jdsjlzx/article/details/52912701 FutureTask既是Future、Runnable,又是包装了Callable(如果是Runnable最终也会被转换为Callable ), 它是这两者的合体 阅读全文

posted @ 2019-05-09 15:15 雪洗中关村

CompletionService的好处与使用场景
摘要:转自:https://blog.csdn.net/jdsjlzx/article/details/52912701 FutureTask既是Future、Runnable,又是包装了Callable(如果是Runnable最终也会被转换为Callable ), 它是这两者的合体。 阅读全文

posted @ 2019-05-09 15:13 雪洗中关村

采用CAS算法 实现高性能的Disruptor 完成多线程下并发、等待、先后等操作
摘要:来源:https://blog.csdn.net/tianyaleixiaowu/article/details/79787377 拓展: https://www.jianshu.com/p/d24b2eb4a881 初识Disruptor Java完成多线程间的等待功能: 场景1:一个线程等待其他 阅读全文

posted @ 2019-03-26 22:54 雪洗中关村

详解:idea工具下的main函数只执行Thread.activeCount(),打印值为:2
摘要:写多线程的时候,想要等main中其他线程都执行完成后(其他线程功能为对一个数字inc+1),输出最终的inc值。 于是写了个循环: while (Thread.activeCount() > 1) { System.out.println(Thread.activeCount()); Thread. 阅读全文

posted @ 2019-03-21 14:51 雪洗中关村

Java CAS同步机制 实践应用
摘要:利用CAS实现原子操作类AtomicInteger (这是自定义的AtomicInteger;java有封装好的原子操作AtomicInteger类): 为什么需要AtomicInteger原子操作类?对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的 阅读全文

posted @ 2019-03-21 14:47 雪洗中关村

java面试总躲不过的并发(二):volatile原理 + happens-before原则
摘要:一.happens-before原则 同一个线程中的,前面的操作 happens-before 后续的操作。(即单线程内按代码顺序执行。但是,在不影响在单线程环境执行结果的前提下,编译器和处理器可以进行重排序,这是合法的。换句话说,这一是规则无法保证编译重排和指令重排)。 1. 监视器上的解锁操作 阅读全文

posted @ 2019-03-21 12:55 雪洗中关村

java面试总躲不过的并发(一): 线程池ThreadPoolExecutor基础梳理
摘要:本文核心:线程池ThreadPoolExecutor基础梳理 一.实现多线程的方式 1.继承Thread类,重写其run方法 2.实现Runnable接口,实现run方法 3.实现Callable接口,实现call方法 由于Java的设计,只支持单继承,但是支持多实现形式,所以一般面向接口开发,Ru 阅读全文

posted @ 2019-03-21 12:50 雪洗中关村

Java CAS同步机制 原理详解(为什么并发环境下的COUNT自增操作不安全): Atomic原子类底层用的不是传统意义的锁机制,而是无锁化的CAS机制,通过CAS机制保证多线程修改一个数值的安全性。
摘要:精彩理解: https://www.jianshu.com/p/21be831e851e ; https://blog.csdn.net/heyutao007/article/details/19975665 ; 备选参考:https://blog.csdn.net/tanga842428/arti 阅读全文

posted @ 2019-03-21 12:36 雪洗中关村