最新 最热

聊聊如何利用wrk进行压测初探

wrk 是一个能够在单个多核 CPU 上产生显著负载的现代 HTTP 基准测试工具。它采用了多线程设计,并使用了像 epoll 和 kqueue 这样的可扩展事件通知机制。此外,用户可以指定 LuaJIT 脚本来完成 HTTP 请求生成、响应处理和...

2023-09-05
1

Java 是如何实现线程间通信的?

正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。

2023-09-04
1

SpringBoot之旅-日志

日志对于一个系统的重要性不言而喻,日志能帮我们快速定位线上问题,市场上存在非常多的日志框架,比较常见的有 JUL,JCL,Log4j,Log4j2,Logback、SLF4j、jboss-logging等。...

2023-09-04
1

同步组件Semaphore源码解析

Semaphore信号量用来控制同时访问特定资源的线程数量,它通过协调各个线程,以保证合理地使用公共资源。

2023-09-04
1

同步组件CyclicBarrier源码解析

CyclicBarrier可以理解为Cyclic + Barrier, 可循环使用 + 屏障嘛。

2023-09-04
1

线程池ScheduledThreadPoolExecutor源码解析

我们在上一篇学习了ThreadPoolExecutor的实现原理:Java并发包源码学习系列:线程池ThreadPoolExecutor源码解析

2023-09-04
1

阻塞队列实现之LinkedTransferQueue源码解析

LinkedTransferQueue在JDK1.7版本诞生,是由链表组成的无界TransferQueue,相对于其他阻塞队列,多了tryTransfer和transfer方法。

2023-09-04
1

阻塞队列实现之LinkedBlockingQueue源码解析

LinkedBlockingQueue是由单链表构成的界限可选的阻塞队列,如不指定边界,则为Integer.MAX_VALUE,因此如不指定边界,一般来说,插入的时候都会成功。

2023-09-04
1

阻塞队列BlockingQueue及实现原理分析

BlockingQueue 对插入操作、移除操作、获取元素操作提供了四种不同的方法用于不同的场景中使用:

2023-09-04
1

聊聊挂起与唤醒线程LockSupport工具类

LockSupport工具类定义了一组公共的静态方法,提供了最基本的线程阻塞和唤醒功能,是创建锁和其他同步类的基础,你会发现,AQS中阻塞线程和唤醒线程的地方,就是使用LockSupport提供的park和unpark方法,比如下面这段:...

2023-09-04
1