![Avatar notebook default](https://cdn2.jianshu.io/assets/default_avatar/avatar-notebook-default-640f7dde88592bdf6417d8ce1902636e.png)
概 述 在Linux环境下获取毫秒级时间,我们会想到使用gettimeofday()(头文件 )来获取。包括muduo网络库中日志模块打印毫秒级...
概 述 在多线程服务端程序中,阻塞队列是常用的数据结构。本文介绍使用C++来实现阻塞队列的模板。 实 现 所谓 阻塞队列,即当队列为空时,弹出操...
概 述 在服务端程序中,并发的处理多客户任务时,为每一个客户任务创建一个线程(或进程),这是不高效。因此引入了线程池(或进程池)来实现高效的并发...
概 述 利用自己封装的线程类,来实现用线程处理信号 设置信号掩码 在之前的文章Linux 信号[https://www.jianshu.com/...
概 述 C++11提供了std::thread类来实现多线程,但是对于Linux上的服务器编程,C++11的std::thread使用不便且没有...
概 述 进程间通信(IPC)有多种方式,包括管道、命名管道(使用不多)、信号量、消息队列以及共享内存。本文主要介绍共享内存相关的系统调用以及利用...
前 言 学习完服务器如何处理I/O事件、信号以及定时事件三大事件后,我们开始学习Linux服务器的多进程编程。 概 述 有关多进程基础的复制进程...
概 述 在之前文章中实现的定时器,都是以固定的频率调用心搏函数tick(),从而处理到期的定时器任务。时间堆则采用另一种思路:将所有定时器中到期...
概 述 上篇文章中实现了基于升序链表的定时器,此定时器存在着当定时器数量变多,效率也会变低的问题。对此,我们使用时间轮在解决。贴一下书中展示的简...
文集作者