作者小头像 Lv.3
更多个人资料
430 成长值
0 关注
0 粉丝
+ 关注 私信

个人介绍

技术人文, 互联网, 微信公众号:poemyang

感兴趣或擅长的领域

暂无数据
个人勋章
TA还没获得勋章~
成长雷达
430
0
0
0
0

个人资料

个人介绍

技术人文, 互联网, 微信公众号:poemyang

感兴趣或擅长的领域

暂无数据

达成规则

以上满足项可达成此勋章

  • 博客
  • 关注
  • 粉丝
  • 论坛
全部时间
全部时间
最近三天
最近一周
最近一月
  • 全部
  • 技术札纪——有限硬件与无限计算的权衡艺术
从C10K到Reactor:事件驱动,如何重塑高并发服务器的网络架构
事件驱动是一种编程范式,通过异步事件控制程序流程,由事件源、事件、事件循环和事件处理器组成。Reactor模型解决了C10K问题,利用I/O多路复用机制,使单线程高效处理大量连接,克服了传统多线程模型的瓶颈,但存在编程复杂度高的局限。
任务调度 网络
作者小头像 poemyang 2025-11-10 15:24:45
28
0
0
2025-11-10 15:24:45
28
0
0
单线程如何撑起百万连接?I/O多路复用:现代网络架构的基石
I/O多路复用是一种高效的并发I/O模型,通过单线程监控多个文件描述符,避免了非阻塞I/O轮询的资源浪费。从select/poll到epoll的技术演进中,epoll采用红黑树管理和回调机制,实现了O(1)时间复杂度的事件检测,支持LT/ET两种触发模式。虽然仍属同步I/O,但结合事件循环+线程池的模式可显著提升系统吞吐量。该技术是现代高性能网络编程的核心基础。(149字)
任务调度 网络
作者小头像 poemyang 2025-11-06 22:00:21
82
0
0
2025-11-06 22:00:21
82
0
0
你的程序为何卡顿?从LINUX I/O三大模式寻找答案
本文介绍了Linux中的I/O交互流程和三种主要I/O操作方式。内核空间和用户空间通过系统调用进行I/O交互,数据需在内核缓冲区和用户缓冲区之间复制。阻塞I/O简单但并发性能差;非阻塞I/O通过轮询提高并发性但增加复杂度;异步I/O通过回调实现最高性能,但实现复杂且平台支持有限。每种方式各有优缺点,适用于不同场景。
Linux 任务调度
作者小头像 poemyang 2025-11-05 18:38:39
72
0
0
2025-11-05 18:38:39
72
0
0
“一切皆文件”:揭秘LINUX I/O与虚拟内存的底层设计哲学
本文深入剖析了RPC框架的网络模型设计与Linux系统底层机制。首先介绍了RPC框架在网络通信中的核心作用,重点探讨了高并发场景下的性能优化策略。随后详细解析了Linux系统的分层架构,包括硬件层、内核空间、用户空间和系统调用接口,并阐述了"一切皆文件"的设计哲学。最后讲解了虚拟内存管理机制及其在内存扩展和进程隔离方面的作用,指出过度页面交换可能导致的性能问题。文章为理解现代网
Linux 虚拟化
作者小头像 poemyang 2025-11-04 17:19:31
456
0
0
2025-11-04 17:19:31
456
0
0
Goroutine间的“灵魂管道”:Channel如何实现数据同步与因果传递?
Golang的Channel是Goroutine间通信的核心机制,基于CSP模型实现,无需显式锁即可安全传递数据。其底层通过hchan结构体管理循环队列和等待队列,支持缓冲和非缓冲两种模式。发送/接收操作遵循特定happens-before规则保证内存可见性。Channel适用于并发控制、信号通知和异步结果获取等场景,相比Java的共享内存模型,Golang通过消息传递将并发问题转化为数据流设计
http 分布式 数据结构
作者小头像 poemyang 2025-11-03 16:57:11
87
0
0
2025-11-03 16:57:11
87
0
0
“不要通过共享内存来通信”——深入理解Golang并发模型与CSP理论
Golang并发模型基于CSP理论,倡导"通过通信共享内存"而非共享内存通信。其核心组件是Goroutine和Channel:Goroutine作为轻量级协程实现并发执行,Channel则作为通信管道协调Goroutine间的消息传递。这种设计避免了传统并发编程中的锁竞争问题,将复杂性从状态管理转移到通信编排上,使并发逻辑更清晰可靠。
任务调度
作者小头像 poemyang 2025-10-23 14:57:41
177
0
0
2025-10-23 14:57:41
177
0
0
揭秘JUC:volatile与CAS,并发编程的两大基石
JUC(java.util.concurrent)并发包是Java并发编程的核心工具,由Doug Lea设计。它基于volatile和CAS操作实现线程安全,通过AQS框架维护同步状态。文章分析了Lock的获取与释放机制,展示了volatile变量state如何保证可见性和有序性,以及CAS操作如何确保原子性。
Java 任务调度
作者小头像 poemyang 2025-10-22 22:17:25
77
0
0
2025-10-22 22:17:25
77
0
0
从MESA模型到锁升级:synchronized性能逆袭的底层逻辑
本文介绍了Java并发编程中的管程(Monitor)机制及其实现模型MESA。管程通过入口等待队列和条件变量等待队列解决线程互斥与同步问题,Java的synchronized关键字参考了MESA模型但只支持一个条件变量。文章详细分析了synchronized的实现原理,包括字节码层面的monitorenter/monitorexit指令和性能优化策略(偏向锁、轻量级锁等),并给出使用注意事项
HTML Java 任务调度
作者小头像 poemyang 2025-10-21 20:29:22
154
0
0
2025-10-21 20:29:22
154
0
0
一把锁的两种承诺:synchronized如何同时保证互斥与内存可见性?
本文介绍了Java中synchronized关键字的原理与应用。临界区是多线程环境下需要保护的共享资源访问区域,synchronized通过对象锁机制实现互斥访问。文章详细说明了synchronized两种使用方式(修饰方法和代码块),并通过happens-before规则和内存语义分析其实现原理。synchronized不仅提供互斥访问,还具备类似volatile的内存可见性保障,确保线程间数据
Java 任务调度
作者小头像 poemyang 2025-10-20 21:22:50
95
0
0
2025-10-20 21:22:50
95
0
0
从混沌到秩序:Java共享内存模型如何通过显式约束驯服并发?
本文探讨并发编程的两种范式:显式同步约束(如Java共享内存模型)和隐式因果传递(如Golang消息传递模型)。Java通过synchronized、volatile等机制实现线程同步,要求开发者显式控制共享资源访问,但带来较大心智负担;Golang则通过Channel实现隐式编排,以通信代替共享。文章将分析两者如何确保内存可见性和数据因果序,展现并发编程哲学的差异。
Java 任务调度
作者小头像 poemyang 2025-10-17 20:42:22
138
0
0
2025-10-17 20:42:22
138
0
0
总条数:43
10
10
20
50
100
  • 1
  • 2
  • 3
  • 4
  • 5

上滑加载中

https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
作者小头像
作者小头像
快速交付
+ 关注