java多线程
文章平均质量分 88
java面向多并发编程的必研内容--多线程执行
飞奔的大土豆
今天最好的表现是明天最低的要求
未来早已到来,只是还未普及
展开
-
并行编程-disruptor与Future(CompletableFuture 和 guava)场景比较
Disruptor 是 LMAX 公司开发的高性能队列,用于解决内存队列的延迟问题。LMAX 基于 Disruptor 打造的系统单线程能支撑每秒 600 万订单,许多著名的开源项目也使用 Disruptor 获取高性能,比如 log4j2 使用 Disruptor 加速异步日志输出,canal 使用 Disruptor 处理数据库 binlog 的解析分发。内存队列性能LMAX 在性能测试中发现,内存队列中数据的延迟竟然和 I/O 操作处于同样的数量级,其中最大的性能损耗在于缓存行原创 2022-12-08 09:16:56 · 1309 阅读 · 0 评论 -
代码块线程安全
实现线程安全无外乎围绕线程私有资源和线程共享资源来进行,你需要识别出哪些是线程私有,哪些是共享的,然后对症下药就可以了。转载 2022-10-23 23:22:07 · 522 阅读 · 0 评论 -
最近学习了“ThreadLocal”
平常没引起注意,被“贝壳找房”的面试提到“ThreadLocal解决内存泄漏?”后来发现其实我们最常用分页pageHelper就在使用;这也反映了平常对代码的深入研究程度,开此篇“最近学习了。。。”一.ThreadLoacl的理解:官方的讲:ThreadLocal是一个本地线程副本变量工具类,主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰通俗的讲:ThreadLocal也叫做线程本地变量,ThreadLoacl为变量在每个线程中的都创建了副本,每个线程可以转载 2020-05-17 11:29:26 · 320 阅读 · 0 评论 -
Java多线程1:进程与线程概述
线程6种状态:new状态/RUNNABLE(运行)/Blocked(线程阻塞)/Waiting(等待)/TIMED-Waiting(超时等待)/terminal(终止) (1)new了个线程 进入[新建状态](2) 执行start方法 进入[运行状态](3)线程1调用类A的getUsers()方法,线程2调用类A的addUser()方法,这两个方法都是synchronized方法或者使用同一个ReentrantLock加锁,这样线程2在addUser的时候,线程1调用getUsers方法时...转载 2020-05-18 21:38:53 · 192 阅读 · 0 评论