- 博客(6)
- 收藏
- 关注
原创 多线程之Guarded Suspension 模式
Guarded 是被守护,被保护的意思,Suspension 是暂停的意思。如果执行现在的处理会造成问题,就让执行处理的线程进行等待。创建5个类名字 说明 Request 表示一个请求的类 RequestQueue 依次存放请求的类 ClientThread 发送请求的类 ServerThrad 接受请求的类 Main ...
2019-03-23 17:11:58 826
原创 多线程之Immutable 模式
创建三个类名字 说明 Person 表示人的类 Main 测试程序的类 PrintPersonThread 显示Person实例的线程的类 public class Main { public static void main(String[] args) { Person alice = new Person("Alic...
2019-03-23 14:45:55 164
原创 多线程之Single Threaded Execution 模式
创建三个类:类名 说明 Main 创建一个门,让三个人不断的通过门 Gate 表示门的类,穿过一个人时记录名字和出生地 UserThread 表示人的类。人们不断通过门 public class Main { public static void main(String[] args) { System.out.print...
2019-03-23 11:50:58 237
原创 ConcurrentLinkedDeque和ConcurrentLinkedQueue
看关键字Concurrent就知道这个两个类是并发类。ConcurrentLinkedQueue 是单向链表结构的无界并发队列。元素操作按照 FIFO (first-in-first-out 先入先出) 的顺序。适合“单生产,多消费”的场景。内存一致性遵循对ConcurrentLinkedQueue的插入操作先行发生于(happen-before)访问或移除操作。ConcurrentLin...
2019-03-19 14:27:34 4884 1
原创 Java锁的优缺点对比及适用场景总结
偏向锁:优点:加锁和解锁不需要额外的开销,和执行非同步方法相比仅存在纳秒级的差距。缺点:如果线程间存在锁竞争,会带来额外的锁撤销的消耗适用场景:适用于只有一个线程访问同步块场景轻量级锁:优点:竞争的线程不会阻塞,提高了程序的响应速度。缺点:如果始终得不到锁竞争的线程,使用自旋会消耗CPU适用场景:追求响应时间,同步块执行速度非常快重量级锁:优点:线程竞争不使用自...
2019-03-16 19:38:19 1849
原创 在多线程中不能自动注入Bean的解决方案
问题:项目启动后,Spring在发现线程类的时候,并不会帮线程类主动注入所需的bean(mapper接口和serviceImpl),所以你使用@Autowired注解也是没用的。解决办法:手动注入这里需要写一个手动注入bean的工具类:/** * @Description: 手动获取Spring中的bean 注意这个类要一定交给spring来管理,注册到spring的配置文件中...
2019-03-07 17:56:48 1856 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人