在大型互联网架构场景,处理高并发连接的能力至关重要,本篇就重点详解Nginx如何实现百万并发连接的关键技术@mikechen
本文作者:陈睿|mikechen
文章来源:mikechen.cc
Nginx架构设计
Nginx 实现百万并发连接并非依赖单一因素,而是其架构设计、多种优化策略的结果
2025年09月05日
在大型互联网架构场景,处理高并发连接的能力至关重要,本篇就重点详解Nginx如何实现百万并发连接的关键技术@mikechen
本文作者:陈睿|mikechen
文章来源:mikechen.cc
Nginx架构设计
Nginx 实现百万并发连接并非依赖单一因素,而是其架构设计、多种优化策略的结果
2025年09月05日
锁消除
主要是在编译阶段通过逃逸分析来检测到一些被添加了同步操作的方法,在实际上不会出现了共享数据竞争的问题,从而对锁操作进行了消除的操作。
2025年09月05日
两个线程对一个初始值为0的静态变量一个线程自增5000次,一个线程自减5000次,所带来的线程安全问题。
/**
* 多线程对共享变量操作线程安全问题案例
*
* @Author warrior
**/
public class SyncDemo {
//共享变量
private static int count = 0;
public static void main(String[] args) throws InterruptedException {
/**
* 创建按一个线程,对共享变量count自增操作5000次
*/
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 5000; i++) {
increment();
}
}
});
/**
* 创建按一个线程,对共享变量count自减操作5000次
*/
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 5000; i++) {
decrement();
}
}
});
//启动线程
thread1.start();
thread2.start();
//等待线程执行完成
thread1.join();
thread2.join();
System.out.println("count:" + count);
}
/**
* 对共享变量count自增操作
*/
public static void increment() {
count++;
}
/**
* 对共享变量count自减操作
*/
public static void decrement() {
count--;
}
}
2025年09月05日
在现代软件开发中,并发编程已成为提升应用性能和响应性的关键技术。作为一名资深C开发者,我深知异步编程在处理I/O密集型任务、网络通信和计算密集型操作时的强大威力。本指南旨在为C
2025年09月05日
虚拟线程是由 Java 21 版本中实现的一种轻量级线程。它由 JVM 进行创建以及管理。虚拟线程和传统线程(我们称之为平台线程)之间的主要区别在于,我们可以轻松地在一个 Java 程序中运行大量、甚至数百万个虚拟线程。
2025年09月05日
Rust的mio库是一个高性能、非阻塞I/O库,非常适合编写高并发、高性能的服务器程序。它的设计灵感来自于其他语言中的类似库,比如Node.js的事件驱动模型和Java的NIO。下面我用一些通俗易懂的比喻和案例来解释一下mio库的基本概念和工作原理。
2025年09月05日
当面试官问及"如何应对每秒几万QPS(Queries Per Second)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。