multi-thread
文章平均质量分 66
1
jwolf2
华山论剑
展开
-
CountDownLatch与CyclicBarrier基本原理及区别
一、CountDownLatch测试demo注:這裏調用countDownLatch.await()的綫程稱之爲主綫程public class CountDownLatchTest { private static final int NUM=3 ; public static void main(String[] args) throws InterruptedException { CountDownLatch countDownLatch = new...原创 2021-03-08 23:04:40 · 1536 阅读 · 0 评论 -
LinkedBlockingQueue的3对易混API
目录3对API结论放入测试取出测试3对API结论Level. 放入 取出 1 add 队列满?异常:return true remove 队列空?异常:return head 2 offer 队列满?return false:return true poll 队列空?return null:return head 3 put 队列满?阻塞:return [void] tak...原创 2021-02-23 14:20:31 · 162 阅读 · 0 评论 -
重入读写锁ReentrantReadWriteLock特性总结
重入读写锁ReentrantReadWriteLock特性总结重入性:因为是可重入锁,而且是同一个线程内,故可以重复获取到锁,普通Lock即时是同一线程也无法重复获取,是不可重入的;重入多少次就得释放多少次。 互斥性与锁升降级:读读不互斥,读写&写写互斥;;;同一个线程内不适应该规则,但同一线程内如本例属于锁降级情况是OK的,但是如果是先读锁再加写锁则是锁升级,会发生死锁 公平性:ReentrantReadWriteLock声明为true公平锁,即“线程等待锁排序”与“线程最终获取锁排序”是原创 2021-02-23 12:05:29 · 255 阅读 · 0 评论 -
应用限流实战-多解决方案(guava,redis,nginx+lua)
参考:https://blog.csdn.net/lzw_2006/article/details/51789859一、简单的guava平滑限流方案public class RateLimiterTest { public static void main(String[] args) throws InterruptedException, Exception { ...原创 2019-04-16 13:10:22 · 553 阅读 · 0 评论 -
高并发软件层面解决思路-从前端到后端
1、页面缓存、前后端分离、CDN、静态页面(减少后台接口请求,需要CMS系统支持)、代码等优化(百度关键词“雅虎前端优化”)2、nginx或其它配置合理的负载均衡策略,按主机性能设置合理的权重等3、应用拆分、扩容(新增实例)4、SQL优化、JVM调优、代码逻辑优化(使用高性能API、合理使用事务及设置合理隔离级别、使用细粒度锁或无锁CAS、使用高性能并发容器如atomic、concur...原创 2019-04-17 10:54:57 · 1196 阅读 · 0 评论