线程池没你想的那么简单

2019-05-20
阅读 8 分钟
2.4k
原以为线程池还挺简单的(平时常用,也分析过原理),这次是想自己动手写一个线程池来更加深入的了解它;但在动手写的过程中落地到细节时发现并没想的那么容易。结合源码对比后确实不得不佩服 Doug Lea 。

『并发包入坑指北』之向大佬汇报任务

2019-04-29
阅读 5 分钟
1.5k
前言 在面试过程中聊到并发相关的内容时,不少面试官都喜欢问这类问题: 当 N 个线程同时完成某项任务时,如何知道他们都已经执行完毕了。 这也是本次讨论的话题之一,所以本篇为『并发包入坑指北』的第二篇;来聊聊常见的并发工具。 <!--more--> 自己实现 其实这类问题的核心论点都是:如何在一个线程中得知其他...

线程池中你不容错过的一些细节

2019-03-26
阅读 3 分钟
2k
背景 上周分享了一篇《一个线程罢工的诡异事件》,最近也在公司内部分享了这个案例。 无独有偶,在内部分享的时候也有小伙伴问了之前分享时所提出的一类问题: 这其实是一类共性问题,我认为主要还是两个原因: 我自己确实也没讲清楚,之前画的那张图还需要再完善,有些误导。 第二还是大家对线程池的理解不够深刻,比如...

一个线程罢工的诡异事件

2019-03-13
阅读 5 分钟
2.1k
背景 事情(事故)是这样的,突然收到报警,线上某个应用里业务逻辑没有执行,导致的结果是数据库里的某些数据没有更新。 虽然是前人写的代码,但作为 Bug maker&killer 只能咬着牙上了。 <!--more--> 因为之前没有接触过出问题这块的逻辑,所以简单理了下如图: 有一个生产线程一直源源不断的往队列写数据。 ...

一次生产 CPU 100% 排查优化实践

2018-12-17
阅读 4 分钟
5.5k
前言 到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环境互相没有影响。 定位问题 拿到问题后首先去服务器上看了看,发现运行的只有我们的 Java 应用。于是先用 ps ...

分享一些 Kafka 消费数据的小经验

2018-11-20
阅读 4 分钟
8.4k
就我的使用经验来说,大部分情况都是处于数据下游的消费者角色。也用 Kafka 消费过日均过亿的消息(不得不佩服 Kakfa 的设计),本文将借助我使用 Kakfa 消费数据的经验来聊聊如何高效的消费数据。

一份针对于新手的多线程实践--进阶篇

2018-11-01
阅读 3 分钟
1.9k
这只是多线程其中的一个用法,相信看到这里的朋友应该多它的理解更进一步了。 再给大家留个阅后练习,场景也是类似的: 在 Redis 或者其他存储介质中存放有上千万的手机号码数据,每个号码都是唯一的,需要在最快的时间内把这些号码全部都遍历一遍。