多线程编程优秀文章

1 优秀文章合集

1.1 学习CompletionService ,以及它的思想

      比如实现并行调用多个服务提供者,只要有一个服务提供者返回就立即返回的功能

送你一个并发编程的奇淫巧技,舒服的很...

1.2 讲述ConcurrentHashMap为什么不允许key和value为null

        允许value为null会出现二义性

        不允许key为null是因为Doug Lea不喜欢让null进入到Java集合中

这道面试题我真不知道面试官想要的回答是什么

1.3 CompletableFuture:运行结果出来了,你执行一下我留给你的回调函数

对不起,我来把之前留的坑给填了!

eg:异步流式回调。  阿里有个很常见的笔试题让根据4个外部系统接口选其中一个调用结果作为最终结果保证系统高效性,用这个就很合适;比如四个支付渠道的可用性校验,哪个最先返回就用哪个支付渠道;

场景描述: 用户在支付宝拥有多种支付方式(余额、红包、余额宝等,每种支付工具分布在不同系统),每种支付方式通过调用远程服务获取可用性。在外部资源环境不变情况下,请设计程序以最短响应时间获得尽可能多的可用支付方式列表。”

1.4 关于基础的Future

笑了,面试官问我知不知道异步编程的Future。

1.5 ConcurrentHashMap为什么不能存值为null的value,不能放值为null的key?

这道面试题我真不知道面试官想要的回答是什么

1.6 讲述热点账户的解决方案,高并发的秘籍-拆分,

        请求合并的解决方案:1)队列加上定时任务, 2)Hystrix 就有请求合并的功能

1.7 时间轮算法实现定时重试功能

        ScheduledExecutorService + Map,也能实现定时重发功能,注意效率的区别

面试官:你给我说一下什么是时间轮吧?

1.8 关于Semaphore的用法需要注意许可超额和许可不释放导致的问题

        这篇文章,有一个关于许可无法释放的点,没有理解

java高并发高频面试题:Sempahore的使用场景与常见误区_中间件兴趣圈-CSDN博客

1.9 尽量不要用Integer做锁对象,如果实在要用请用缓存结果的方式

当Synchronized遇到这玩意儿,有个大坑,要注意!

 

多个线程如何保证按顺序执行?

1)用join

2)有几个线程,就用几个CountDownLauch

 

 

2 基础知识合集

2.1 Future和FutureTask的理解

对于Future和FutureTask的理解 - 简书

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值