- 博客(3)
- 收藏
- 关注
原创 ConcurrentHashMap如何实现线程安全
HashMap在多线程情况下会出现问题: put操作,若是新增一个节点,若进行扩容有几率会发生死循环的问题。 而ConcurrentHashMap为了解决这个问题,采用了如下方式: 首先贴出源码 final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || value == null) ...
2020-01-18 20:58:31 225
原创 CompletionService实现多线程任务
使用CompletionService可以简便的实现多线程执行任务后获取结果汇总。 //定义线程池 ThreadPoolExecutor executor = new ThreadPoolExecutor(5,10,5, TimeUnit.SECONDS, new LinkedBlockingDeque<>()); CompletionService<List<Met...
2020-01-15 08:56:05 195
原创 Springboot使用quartz动态添加任务
项目中需要页面动态新增定时任务,还需要进行任务删除的功能。 借鉴了其他人的做法。现将设计方式记录如下: 1、springboot项目直接依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-qua...
2020-01-13 20:33:38 2980 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人