logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

从零实现 Reactor + ThreadPool TCP 服务器

本文介绍了如何从零实现一个基于Reactor模型和线程池的TCP服务器。首先分析了传统阻塞IO模型和一连接一线程模型的局限性,指出它们在高并发场景下的性能问题。然后引入非阻塞IO和IO多路复用技术,提出Reactor模型作为解决方案。Reactor模型由多路复用器、事件分发器和事件处理器三部分组成,能够高效管理大量并发连接。进一步引入线程池来提升性能,将IO操作与业务处理分离,Reactor线程负

文章图片
#服务器
Linux线程:基于环形队列的生产消费模型

本文介绍了使用POSIX信号量实现线程同步的方法,重点讲解了其在环形队列中的应用。文章首先对比了条件变量和信号量的线程同步机制,指出信号量通过计数器实现资源管理。随后详细说明了POSIX信号量的初始化、销毁、等待、释放等基本操作。最后通过一个环形队列的代码实例,展示了如何利用信号量解决假溢出问题,其中使用两个信号量分别控制空间和数据的可用性,配合互斥锁实现生产者和消费者的同步访问。

文章图片
#开发语言#linux#c++
Linux线程同步与互斥

本文介绍了线程同步与互斥的关键机制,重点讲解了互斥锁和条件变量的使用方法。通过生产者-消费者模型示例,展示了如何利用阻塞队列实现多线程并发控制。文章详细说明了互斥锁的初始化、加锁、解锁和销毁操作,以及条件变量的等待和唤醒机制。最后给出了一个基于C++的阻塞队列实现代码,该实现使用互斥锁保护共享队列,并通过条件变量协调生产者和消费者线程的同步操作,有效解决了多线程环境下的资源共享问题。

文章图片
#开发语言#linux#c++
Linux进程死锁

本文通过生动案例和代码示例详细讲解了操作系统中的死锁问题。首先以朋友借钱为例形象说明死锁概念,并指出死锁产生的四个必要条件:互斥、请求与保持、不可剥夺和循环等待。接着分析哲学家就餐和违反锁顺序两个经典死锁案例。针对死锁处理,提出四种策略:破坏互斥条件、破坏请求与保持条件、破坏不可剥夺条件和破坏循环等待条件。重点介绍了资源排序策略和银行家算法,通过安全序列确保系统处于安全状态来避免死锁。全文以通俗易

文章图片
#linux#运维
Linux内核O(1)调度算法

本文探讨了Linux2.6系统中普通进程的调度机制。操作系统通过快速切换进程创建多程序同时运行的假象,关键在于调度策略和时间片分配。理想的调度策略需兼顾公平性和吞吐量,而时间片长短直接影响系统响应和切换开销。进程分为I/O消耗型和CPU消耗型,通过静态和动态优先级调整实现调度优化。动态优先级基于进程等待时间、运行时间和类型动态调整,而静态优先级决定时间片长度。Linux采用O(1)调度算法,使用活

文章图片
#linux#运维#服务器
解析进程:从原理到实践

本文介绍了进程的概念、本质及管理方法。进程是程序的执行实例,每个进程拥有独立的内存和资源。操作系统通过进程控制块(PCB/task_struct)管理进程。文章详细讲解了进程创建(fork)、状态(R/S/D/T/Z)、优先级(PRI/NI)以及进程切换等内容。特别分析了僵尸进程和孤儿进程的产生与解决方案。最后阐述了进程存在的意义,包括并发执行、资源隔离、权限控制等。通过系统调用和内核机制,进程实

文章图片
#linux#运维#服务器
页表:从虚拟地址到物理地址的转换

当程序尝试访问的页面不在物理内存中时,就会触发缺页中断。进程从用户态切换到内核态,将缺页中断交给操作系统处理,将所需的页面从磁盘调入内存。当缺页中断处理返回时,系统重新启动导致缺页中断的指令,该命令重新发出导致缺页中断的虚拟地址,然而这时,所需的页面已经存在于内存中了,程序就可以继续正常执行了。

文章图片
#linux#运维#服务器
从零实现Nginx风格内存池

本文将从为什么需要内存池讲起,重点探讨内存池的设计哲学,并详细拆解其实现方案,从而搭建起读者对内存池从理论到实践的完整认知模型。

文章图片
#nginx
从零实现 Reactor + ThreadPool TCP 服务器

本文介绍了如何从零实现一个基于Reactor模型和线程池的TCP服务器。首先分析了传统阻塞IO模型和一连接一线程模型的局限性,指出它们在高并发场景下的性能问题。然后引入非阻塞IO和IO多路复用技术,提出Reactor模型作为解决方案。Reactor模型由多路复用器、事件分发器和事件处理器三部分组成,能够高效管理大量并发连接。进一步引入线程池来提升性能,将IO操作与业务处理分离,Reactor线程负

文章图片
#服务器
从零实现 Reactor + ThreadPool TCP 服务器

本文介绍了如何从零实现一个基于Reactor模型和线程池的TCP服务器。首先分析了传统阻塞IO模型和一连接一线程模型的局限性,指出它们在高并发场景下的性能问题。然后引入非阻塞IO和IO多路复用技术,提出Reactor模型作为解决方案。Reactor模型由多路复用器、事件分发器和事件处理器三部分组成,能够高效管理大量并发连接。进一步引入线程池来提升性能,将IO操作与业务处理分离,Reactor线程负

文章图片
#服务器
    共 23 条
  • 1
  • 2
  • 3
  • 请选择