![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux服务器开发
clevor18
这个作者很懒,什么都没留下…
展开
-
如何理解网络编程中的阻塞、非阻塞I/O和同步、异步I/O
本文章只单纯讨论网络编程中的阻塞、非阻塞 I/O和同步、异步I/O,并不是广义上定义的对比。因为这两种说法在某些方面领域其实意思很接近,甚至可以混用,很难总结出一套说法适用于所有情况。但在用的较多的网络编程方面,这两种说法的区别还是很明确的。 我们只要把握住核心的两点就可以很容易区分出到底属于哪种I/O操作: 以网络编程中的recv数据过程为例,该过程可以简单理解为将内核空间收到的网络数据拷贝到用户空间。 1. 是用户进程负责将内核空间数据拷贝到用户空间,还是内核进程负责这个拷贝过程。 如果是用.原创 2020-05-31 00:38:28 · 1910 阅读 · 1 评论 -
云风轻量级协程coroutine源码分析(linux系统下基于ucontext)
云风coroutine简介 github源码地址:https://github.com/cloudwu/coroutine.git 源码下载后可以直接make,执行。示例程序清晰易懂,基本看完后大多数人都会使用了。 coroutine属于非常轻量级的协程实现,核心接口coroutine_open、coroutine_close、coroutine_new、coroutine_resume、coro...原创 2020-01-14 15:57:07 · 638 阅读 · 0 评论 -
linux服务器开发(一): KMP算法
这个算法的目标是实现字符串查找功能,解决了字符串查找中匹配失败后回溯重新匹配的问题。 目标:在 abbaabbaaba字符串中找到 abbaaba 。 甲(data):abbaabbaaba 乙(pattern):abbaaba 传统的暴力求解:甲从头开始与乙一一比较,发现第 7 个字符不匹配。甲会回退到自己的第 2 个字符,乙则回退到自己的开头,然后两人开始重新比较。然后 不匹配,回退,...原创 2019-11-17 20:09:42 · 186 阅读 · 0 评论