多线程
文章平均质量分 63
好大的月亮
一只奔跑的菜鸡
展开
-
TransmittableThreadLocal简述和使用demo
TransmittableThreadLocal简述和使用demo原创 2023-09-19 15:33:35 · 254 阅读 · 2 评论 -
redission读写锁解决db和缓存双写不一致
db和缓存双写不一致多线程访问环境下,在更新完db后再去更新缓存,不加锁显而易见的就会出现缓存被覆盖的问题。线程1修改完db去更新缓存的时候慢了一拍。此时线程2在线程1之后修改完db更新成功了缓存。此时线程1更新缓存的操作恢复了,然后去更新了缓存。那么此时的缓存其实是个脏数据。有什么办法呢?方案一直接加redission的普通Rlock分布式锁,比如对一个sku的缓存更新都排着队串行操作。这样也行,但是性能损失大。方案二Redisson其实还有读写锁.操作过db的都知道,写锁是互斥的,读原创 2021-09-08 23:57:38 · 1167 阅读 · 0 评论 -
Apache ab进行压测
一、ab的原理ab是apachebench命令的缩写。ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问。它的测试目标是基于URL的,因此,它既可以用来测试apache的负载压力,也可以测试nginx、lighthttp、tomcat、IIS等其它Web服务器的压力。ab命令对发出负载的计算机要求很低,它既不会占用很高CPU,也不会占用很多内存。但却会给目标服务器造成巨大的负载,其原理类似CC攻击。自己测试使用也需要注意,否则一次上太多的负载。可能造成目标服务器资源原创 2021-01-17 13:41:31 · 442 阅读 · 0 评论 -
java使用ExecutorService和CompletionService在主线程中开启多线程运行,采用阻塞方式先获取到最先结束的线程结果
下面是一个demo,实际上可以自己写一个类实现callable接口,做相关的业务逻辑//相关的引用包import java.util.concurrent.CompletionServiceimport java.util.concurrent.ExecutorCompletionServiceimport java.util.concurrent.ExecutorServiceimport java.util.concurrent.Executorsimport java.util.concu原创 2020-09-21 15:56:00 · 1042 阅读 · 0 评论