2.3 lock锁 如果你曾经遭遇过线程不安全的问题,一定不会对“锁”这个概念不陌生。实际上绝大多数线程安全的先解决方案都离不开“锁”。 JDK里面就有一个接口java.util.concurrent.locks.Lock,顾名思义,就是并发包中“锁”,大量的线程安全问题解决方案均是依赖这个接口的实现类。就跟synchronized关键字一样,在性能测试实战中只要掌握基本的功能和最佳实战即可,这里
前言 Go(或称 Golang)是由 Google 打造的一门现代化编程语言,以其简洁性、高并发支持和卓越性能而深受开发者喜爱。从 Web 应用到 API 构建,再到后端服务开发,Go 的工具与库生态始终为开发者提供一流的解决方案。 2024 年,Go 生态系统继续繁荣,以下五个框架和库脱颖而出,成为 Go 开发者的必备选择。它们不仅功能强大、性能卓越,而且社区活跃,具有广泛的应用场景。接下来,我
第2章 多线程编程常用功能类 本章我们将开始学习Java多线程编程的进阶内容,通过学习常用的多线程编程常用的同步功能、线程锁、同步屏障等功能,然后进行多种线程安全的功能类知识的学习,初步掌握在性能测试中遇到的各种线程安全问题解决思路,为接下来的性能测试实战打好基础。 2.1 线程安全 只要谈起Java多线程,就绕不开一个最重要的核心问题“线程安全”。什么是线程安全呢?那么咱们再来一个小故事来说明问
1.4.3 线程工厂 Java线程工厂(Thread Factory)是Java SDK中java.util.concurrent包里的一个接口,通常用于创建新线程,允许使用者定制线程的创建过程,包括不限于设置线程名称、设置优先级、设置线程组、统计线程信息等等。 ThreadFactory只有一个接口,参数类型java.lang.Runnable,返回值类型java.lang.Runnable,内
1.4 自定义线程池 现在你已经对创建和使用线程池有了初步了解,包括线程池创建参数的认识,现在我们将目光放在对象参数上,看它们在实际使用中,能达到什么效果,这样可以加深我们对这些参数的理解,帮助我们在后面的使用当中更加得心应手。 1.4.1 等待队列 线程池等待队列的参数类型是BlockingQueue<Runnable>,这是一个Java接口,它的实现类比较多,在java.util.
在我进行 Java 编程实践当中,特别是高性能编程时,线程池是无法逾越的高山。在最近攀登高山的路途上,我又双叒叕掌握了一些优雅地使用线程池的技巧。 通常我会将异步任务丢给线程池去处理,不怎么会额外处理异步任务执行中报错。一般来说,任务执行报错,会终止当前的线程,这样线程池会创建新的线程执行下一个任务,当然是在需要创建线程和可以创建新线程的前提下。 在我最近一次实践当中,发现一个定长 20 的线程池
随着现代软件系统向微服务架构和云原生方向演进,系统的复杂性和模块间的依赖性显著增加,单点故障迅速扩散为整体故障的风险也随之提升。在此背景下,用户对服务的稳定性要求日益提高,稍有停机或异常,便可能引发用户流失、业务损失甚至企业声誉受损。此外,系统故障的多样性和不可预测性也对传统的故障处理手段提出了挑战,促使企业寻求更加系统化的防控策略。 避免故障扩散的核心在于保障服务的高可用性和系统的弹性,从而保护
Aeron 是什么 Aeron 是一款开源的高性能消息传递框架,专为低延迟和高吞吐场景设计。它被广泛应用于金融、游戏、分布式系统等需要快速通信的领域。Aeron 的核心优势在于通过零拷贝技术和直接内存访问,最大限度地降低消息传递的延迟,同时利用高效的网络协议实现数据的可靠传输。 其架构包括媒体驱动器和客户端 API,支持单播、广播和进程间通信。Aeron 还提供持久化模块(Aeron Archiv
在我早期的文章当中,我使用过一个插件 vmlens 实现让 i++ 展现了百分百的线程不安全。在演示示例中,使用了两个线程并发执行 i++,然后就看到了线程不安全的全过程。 但是 vmlens 当时是个付费软件,作者给白嫖用户两周的体验期,虽然我我提了一个 BUG ,也没得到任何的优待。所以很快进行了简单的尝试之后,就放弃探索 vmlens 。 最近开始研究 Byteman 的官方文档过程中,当我
1.3 Java线程池 Java线程池(Thread Pool)是一种线程的使用模式,是一种Java并发编程机制。Java线程池能够有效地管理线程,通过线程复用提升使用效率。当我们使用的线程一旦变多,特别在进行高性能测试时,线程池就是我们唯一的选择。 使用线程池在以下几个方面有着巨大优势: (1)线程创建和销毁:创建和销毁是非常昂贵的操作,线程池通过复用已经创建的线程,减少线程的创建和销毁的次数
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号