一、相关时间函数 1. gettimeofday() 2. time() 3. clock() 二、间隔定时器 1. setitimerval() 2. getitimerval() 3. 实时定时器的使用 三、为阻塞操作设置超时 1. alarm() 2. 给read()设置读超时 一、相关时间函数 1. gettimeofday(... 作者:liushall 发表于 2018/08/23 09:43:00 原文链接 https://blog.csdn.net/liushall/article/details/81974895 阅读:365 继续阅读 >>


王良 18/08/23 09:43:00
一、被中断的系统调用(EINTR)的理解 1. 慢系统调用是? 2. 慢系统调用的类别 3. EINTR产生的原因 5. 一般处理方法 二、SIGCHLD信号的处理 1. SIGCHLD信号的产生 2. SIGCHLD信号的处理 3. 不处理SIGCHLD的后果 三、示例代码 一、被中断的系统调用(EINTR)的理解 1. 慢系统调用是? 慢... 作者:liushall 发表于 2018/08/20 15:11:16 原文链接 https://blog.csdn.net/liushall/article/details/81871521 阅读:151 继续阅读 >>


王良 18/08/20 15:11:16
三次握手与四次挥手 通过TCP/IP协议的学习,我们可以知道TCP协议是一种面向连接的、可靠的传输协议。其中,为了保证客户端与服务器连接的有效性,就有了本篇文章所要介绍的“三次挥手”;而“四次挥手”则是为了保证连接的正确断开。 1. TCP状态 首先,介绍一下TCP的几个状态: SYN —— 同步序列编号,在建立连接时发送 ACK —— 确认信息,在确认SYN信息时发送,响应信息... 作者:liushall 发表于 2018/08/15 08:58:10 原文链接 https://blog.csdn.net/liushall/article/details/81697831 阅读:205 继续阅读 >>


王良 18/08/15 08:58:10
生产者消费者模型 生产者消费者模型 一、 生产者消费者问题 二、 问题分析 三、 伪代码实现 四、代码实现(C++) 五、 互斥锁与条件变量的使用比较 一、 生产者消费者问题 生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案... 作者:liushall 发表于 2018/08/11 00:43:20 原文链接 https://blog.csdn.net/liushall/article/details/81569609 阅读:1594 评论:4 查看评论 继续阅读 >>


王良 18/08/11 00:43:20
最小堆及其应用:时间堆 最小堆及其应用:时间堆 一、 堆 1. 概念 2. 最小堆的实现 3. 性质 4. 代码 二、时间堆 1. 概念简述 2. 实现细节 3. 代码 一、 堆 1. 概念 堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左子节点和右子节点的值。 其中,两个叶子节点的大小没有顺序。 堆又分为两... 作者:liushall 发表于 2018/08/01 17:15:12 原文链接 https://blog.csdn.net/liushall/article/details/81331591 阅读:773 继续阅读 >>


王良 18/08/01 17:15:12
最小堆及其应用:时间堆 一、 最小堆 作者:liushall 发表于 2018/08/01 15:08:26 原文链接 https://blog.csdn.net/liushall/article/details/81317004 阅读:180 评论:2 查看评论 继续阅读 >>


王良 18/08/01 15:08:26
时间轮 简述 顾名思义,时间轮就像一个轮子,在转动的时候外界会指向轮子不同的区域,该区域就可以被使用。因此只要将不同时间的定时器按照一定的方法散列到时间轮的不同槽(即时间轮划分的区域)之中,就可以实现在运转到某个槽时,进行判断该定时器是否已经到达运行时间(需要判断是由于有的定时器并非在这一圈就需要运行,可能需要后面几圈才会运行。 从图中也可以看出,每个槽中的定时器是以(双向)链表... 作者:liushall 发表于 2018/07/31 17:08:21 原文链接 https://blog.csdn.net/liushall/article/details/81316863 阅读:1440 继续阅读 >>


王良 18/07/31 17:08:21
该webServer使用epoll+threadpool实现,支持GET、POST方法,并添加CGI进行数据计算并返回网页信息,可以解析返回html、picture、mp3、js、css等文件,可以实现稳定的运行。 使用c++编写。 源码请看我的Github。 流程简述 启动服务器,在浏览器输入服务器地址,将向服务器发送HTTP请求 服务器接收数据,新建任务,将任务添加到任务队列 从线程... 作者:liushall 发表于 2018/07/28 16:45:42 原文链接 https://blog.csdn.net/liushall/article/details/81262652 阅读:141 评论:2 查看评论 继续阅读 >>


王良 18/07/28 16:45:42
在需要频繁开线程时,创建和销毁线程会话费大量时间,为了提高效率,我们可以在任务开始前,先创建一定数量的线程。这样在接收到任务时,就可以直接使用线程池中处于wait状态的线程,在任务结束后线程回到wait状态,等待新任务的到来,这就避免了线程的创建与销毁,从而提高程序执行效率。 所需数据 需要存储有多少线程( int thread_number ) 需要开辟对应的数组,存储线程号( pth... 作者:liushall 发表于 2018/07/28 10:35:57 原文链接 https://blog.csdn.net/liushall/article/details/81258282 阅读:105 继续阅读 >>


王良 18/07/28 10:35:57
再次重装了系统,为方便以后再次重装,,,因此将主要步骤记录下来。 1. 更新源 sudo gedit /etc/apt/sources.list # 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubun... 作者:liushall 发表于 2018/07/23 13:16:22 原文链接 https://blog.csdn.net/liushall/article/details/81166078 阅读:1143 继续阅读 >>


王良 18/07/23 13:16:22