
操作系统
Saser_
名字被占了,不开兴
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
计算机操作系统 2.5对经典进程的同步问题 的简单解释
首先简单说明以下P.V.操作的作用P操作:信号量– –; V操作:信号量++;生产者—消费者问题:empty:表示空缓冲区的数目,其初值为缓冲池的大小n,表示消费者已把缓冲池中全部产品取走,有n个空缓冲区可用。 full:表示满缓冲区的数目(即产品数目),其初值为0,表示生产者尚未把产品放入缓冲池,有0个满缓冲区可用。mutex:互斥信号量,表示进程对缓冲池的互斥使用,及任何时间点内只能由一原创 2017-12-27 21:12:59 · 818 阅读 · 0 评论 -
EPOLL使用的简单总结
EPOLL使用简单总结0. 为什么要用epoll1. 为什么要使用非阻塞模式2. epoll使用(c++,面向过程)3. epoll接口和结构体0. 为什么要用epoll既然用到epoll,一定对select和poll有一定的了解。Select需要与fd_set结构体配合使用并维护在用户控件维护一个客户端描述符,且管理句柄时有数目的限制。Poll解决了句柄数目的限制(链表实现),同时维护一...原创 2018-12-21 15:52:10 · 552 阅读 · 1 评论 -
EPOLL使用的简单总结3——ET模式+线程池
1.当前使用线程池的实现线程池本质就是提前创建好的多个线程(在程序初始化的时候创建的多个线程),在加上对线程的操作就可以叫线程池。这里创建的线程池并不像Java那样对线程有很好的控制和管理。这里只负责线程的创建和销毁。线程的工作也是提前安排好,而不是在运行时分配。这样做的目的是合理利用硬件资源,让资源在程序运行的时候最大化的集中到IO操作上。理由一:之前文章说过,机器性能杀手有【环境切换】...原创 2018-12-27 18:39:48 · 675 阅读 · 0 评论 -
EPOLL使用的简单总结2——ET模式
注明!此篇博文全部搬运于ChinaUnix网站大佬的系列博文,主要摘自:·彻底学会epoll(3)——ET读操作实例分析http://blog.chinaunix.net/uid-28541347-id-4288802.html·彻底学会epoll(4)——ET写操作实例分析http://blog.chinaunix.net/uid-28541347-id-4296180.html·彻...转载 2018-12-23 12:19:30 · 351 阅读 · 0 评论 -
EPOLL使用的简单总结4——epoll+线程池解决c10k问题
c10k 的IO密集解决方案0. C10k的一些概念1. epoll很忙2.对上篇博文提到问题的改进。3.特别注意的问题——生产者消费者问题4.改进方法的实现(代码)0. C10k的一些概念http://www.kegel.com/c10k.html#frameworks译文地址:1.https://blog.youkuaiyun.com/heiyeshuwu/article/details/564...原创 2018-12-30 16:50:45 · 1499 阅读 · 1 评论 -
EPOLL使用的简单总结5——IO密集型测试以及对之前代码的修正(c10k测试)
一. IO密集测试的概念说白了就是大量的client对server进行连接或断开,同时也只进行连接和断开,并不做大量的数据处理。IO密集测试就是检测server程序应对大量IO请求时的处理能力。也是C10k成功完成的标志之一。二. 我的IO压力测试方案测试需求:1.参考聊天服务器应对客户端时的情形:客户的链接和断开完全是随机发生的。2.可以连接10000个客户端程序。3.保证每一...原创 2019-01-12 14:28:48 · 435 阅读 · 0 评论